Выберите параметр в скрипте при вызове сценария

Я хочу выбрать опции для этого скрипта через командную строку.

Например, я хочу выбрать вариант 2, но для этого требуется ввести номер и нажать Enter. Я попытался ввести ./install.sh < 2, но получил ошибку Invalid selection. Installation aborted..

Как я могу сделать это правильно?

2
задан 19 September 2017 в 21:15

3 ответа

Оба эти решения работают:

./install.sh <<< 2
echo 2 | ./install.sh

Для использования нескольких параметров, например:

echo -e "2\n3\n1" | ./install.sh

В вашем случае это будет:

echo -ne "2\n1\n/var/www/html\nlocalhost\nradius\nradius123\nlocalhost\nconntrack\nconn123\nroot\nwww-data\ny\ny\ny\ny" | ./install.sh
[d3 ] Если вы используете этот способ ввода параметров, крайне важно указать все необходимые параметры, он не будет работать (таким образом), чтобы просто указать первые два и оставить остальных открытыми для пользователя.

[d5 ] Подробнее о цепочках (<<<) можно найти на tldp.org и в командной строке: & lt; & lt; вместо & lt; & lt;.

1
ответ дан 22 May 2018 в 18:26
  • 1
    где находится документация для " & lt; & lt; & lt; & lt; & quot ;? есть ли также & gt; & gt; & gt; & gt; " – jms 15 September 2017 в 13:25

Оба эти решения работают:

./install.sh <<< 2 echo 2 | ./install.sh

Для использования нескольких параметров, например:

echo -e "2\n3\n1" | ./install.sh

В вашем случае это будет:

echo -ne "2\n1\n/var/www/html\nlocalhost\nradius\nradius123\nlocalhost\nconntrack\nconn123\nroot\nwww-data\ny\ny\ny\ny" | ./install.sh

Если вы используете этот способ ввода параметров, крайне важно указать все необходимые параметры, он не будет работать (таким образом), чтобы просто указать первые два и оставить остальных открытыми для пользователя.

Подробнее о цепочках (<<<) можно найти на tldp.org и в командной строке: & lt; & lt; вместо & lt; & lt;.

1
ответ дан 18 July 2018 в 06:49

Оба эти решения работают:

./install.sh <<< 2 echo 2 | ./install.sh

Для использования нескольких параметров, например:

echo -e "2\n3\n1" | ./install.sh

В вашем случае это будет:

echo -ne "2\n1\n/var/www/html\nlocalhost\nradius\nradius123\nlocalhost\nconntrack\nconn123\nroot\nwww-data\ny\ny\ny\ny" | ./install.sh

Если вы используете этот способ ввода параметров, крайне важно указать все необходимые параметры, он не будет работать (таким образом), чтобы просто указать первые два и оставить остальных открытыми для пользователя.

Подробнее о цепочках (<<<) можно найти на tldp.org и в командной строке: & lt; & lt; вместо & lt; & lt;.

1
ответ дан 24 July 2018 в 18:40

Другие вопросы по тегам:

Похожие вопросы: