@RA
RA
31 Aug 2016

Нужно чтобы в скрипте участок кода выполнялся если на вход передаётся параметр oauth или не передавался вовсе
Но я в баше не в зуб ногой. Написал такое

tname="$1"
if [ $#==0 || $tname=="oauth" ]; then
echo "!!!";
fi

оно не работает. Пишет строка 44: ==oauth: команда не найдена
Думаю для знающих баш ошибка очевидна. Скажите что нужно чтобы исправить

31 Aug 2016

if [ $# == 0 ] || [ "$tname" == "oauth" ]; then

31 Aug 2016

спасибо, такой вариант записи мне понятней. Получилось так
if [ $# == 0 ] || [ "x$tname" == "xoauth" ]; then

#oowcwr/3 в ответ на /1
31 Aug 2016

RA, Чтобы было еще более понятнее, почему была ошибка, объясню: все что находится внутри [] является, по сути, набором параметров командной строки для команды test. Потому || там было лишним и все что шло после нее считалось за следующую команду в цепочке.

#oowcwr/4 в ответ на /3
31 Aug 2016

разобрался. Надо так
if [ $# == 0 -o "x$tname" == "xoauth" ]; then

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.