Как я могу заставить этот скрипт работать?

Сценарий (input.sh):

echo "What is your name?"

if [[ $1 =~ "*" ]]
then
read name1
read name2
echo "Are you really "$name1 "??? or" $name2 "?"
else
echo "Are you really "$1 "??? or" $2 "?"
fi

Что мне нужно, так это запустить команду: ./input.sh fahad Eclipse

Затем следует вывести:

What is your name?
Are you really fahad ??? or Eclipse ?

Кроме того, если я сделаю это: ./input.sh

Тогда он должен спросить меня о вводе и затем напечатать строку.

Как я могу это сделать?

0
задан 26 March 2016 в 18:38

1 ответ

Ваш сценарий не выполняется правильно из-за Вашего, если оператор, следующее должно работать. Требуется 2 args, или это спросит их name1 и name2.

, если оператор содержит '$ #', который вычисляет количество данных аргументов. Следование '-ne' является оператором сравнения для 'не равный'. Наконец последнее число для того, сколько Вы ожидаете. Таким образом в нашем случае, мы ищем точно 2, если 1, или 4 еще будут даны, то оператор будет выполняться.

#!/bin/bash
echo "What is your name?"

if [[ $# -ne 2 ]] ; then
read name1
read name2
echo "Are you really "$name1 "??? or" $name2 "?"
else
echo "Are you really "$1 "??? or" $2 "?"
fi
1
ответ дан 27 March 2016 в 04:38
  • 1
    Спасибо за подтверждение ответа. Я добавил сценарий и инструкции к автоматическому запуску блокировка, когда экран неактивен. Это может быть полезно в течение времен, когда оператор находится далеко и забывает вручную устанавливать блокировку. – L. D. James 28 June 2017 в 02:00

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

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