34
голосов
5ответов
34776 просмотров

bash, тире и сравнение строк

Я пытаюсь сравнить две строки в простом сценарии оболочки. Я использовал /bin/sh вместо /bin/bash, и после бесчисленных часов отладки оказалось, что sh (на самом деле это тире) не может обрабатывать этот блок кода: if [ "$var" == "string" ] then do something fi Каков переносимый спосо...

21
голосов
9ответов
5744 просмотров

Странности перенаправления ввода в сценарии оболочки

Кто-нибудь может объяснить такое поведение? Бег: #!/bin/sh echo "hello world" | read var1 var2 echo $var1 echo $var2 ничего не выводит, а: #!/bin/sh echo "hello world" > test.file read var1 var2 < test.file echo $var1 echo $var2 дает ожидаемый результат: hello world Ра...