Є 4 основні альтернативи, обидва мають свої химерності, метод 4 має багато переваг, на мій погляд.
./script
- це сценарій оболонки, починаючи з#!/usr/bin/php
Спосіб 1: $ argv
./script hello wo8844rld
Використовуючи $ argv, порядок параметрів є критичним.
Спосіб 2: getopt ()
./script -p7 -e3
Це важко використовувати разом $argv
, оскільки:
Sing Синтаксичний розбір опцій закінчиться з першої знайденої опції, а все подальше буде відкинуто.
⚠️ Тільки 26 параметрів як алфавіт.
Метод 3: Глобальна змінна Bash
P9="xptdr" ./script
Ці змінні можуть використовуватися іншими програмами, що працюють в одній оболонці.
Вони продуваються, коли оболонка закрита, але не тоді, коли програма php припиняється. Ми можемо встановити їх постійними в ~/.bashrc
!
Метод 4: STDIN pipe і stream_get_contents ()
Деякі приклади трубопроводів:
Подайте рядок:
./script <<< "hello wo8844rld"
Подайте рядок, використовуючи bash echo:
echo "hello wo8844rld" | ./script
Надайте вміст файлу:
./script < ~/folder/Special_params.txt
Подайте масив значень:
./script <<< '["array entry","lol"]'
Завантажте json з файлу:
echo params.json | ./script
Це може подібно працювати з fread () або fgets () , читаючи STDIN.
Посібник із скриптів Bash