если stament в сценарии оболочки

Как запись в if [ -z $str1 && -z $str2 ], "&&" не работает, если запись [ -z $str1 ] это - работа. Я хочу, после того как два представляют в виде строки

#!/bin/bash

echo "Enter first string"
read str1

echo "Enter second string"
read str2

if [ -z $str1 && -z $str2 ];    
then    
    echo "firs and second string length is zero"
else    
    echo "firs and second string length is not zero"    
fi
0
задан 1 November 2014 в 09:18

2 ответа

Можно использовать -a вместо &&. От man test

   EXPRESSION1 -a EXPRESSION2
          both EXPRESSION1 and EXPRESSION2 are true

Эти && форма логической операции И допустима в расширенной тестовой конструкции удара [[ ... ]], но не в тестах формы [ ... ].

1
ответ дан 6 October 2019 в 21:47

Я не специалист по удару на AU, но у меня есть чувство Вы означать:

#!/bin/bash

echo "Enter first string"
read str1

echo "Enter second string"
read str2

if [ -z "$str1" ] && [ -z "$str2" ]; then    
    echo "first and second string length is zero"
else    
    echo "first and second string length is not zero"    
fi

Так, чтобы вывод был "первой и второй длиной строки, нуль", только если обе длины являются нулем, правильно?

4
ответ дан 6 October 2019 в 21:47

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

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