Если оператор с 2 переменными - Bash

Я не знаю специфик Windows и NTFS, но распространенный способ сделать это на графический интерфейсах пользователя файлового менеджера Unix/Linux и Средстве поиска Mac OS X не состоит в том, чтобы на самом деле удалить файл, но переместить его в специальную скрытую папку под названием Мусор (или подобный). восстановить после удаления команда получает файл от той Папки "Удаленные".

rm просто удаляет файл, не беспокоясь Папками "Удаленные", согласно просьбе пользователем.

4
04.02.2013, 01:05
2 ответа
if [ "$VARA" -eq 0 ] && [ "$VARB" -eq 0 ]
then echo 'both are zero, do something'
else echo 'do something else'
fi
8
27.01.2020, 20:48
  • 1
    Мог даже использовать-a синтаксис if [ $VARA -eq 0 -a $VARB -eq 0 ]; then....-a и и-o или. –  lsd 04.02.2013, 03:14
  • 2
    Аналогично, && может быть заменен || при обстоятельствах, где необходимо использовать логическое или вместо и. В то время как -a и -o может также использоваться для предотвращения использования нескольких [] пары, некоторые люди предпочитают метод Lucas, процитированный ради удобочитаемости. –  Andrew B 04.02.2013, 04:58
  • 3
    Это повредится если $VARA или $VARB больше чем два слова долго под wordsplitting. Они должны быть заключены в кавычки соответственно. –  Chris Down 04.02.2013, 12:02
  • 4
    @ChrisDown, что Вы имеете в виду? как помещение Вара между ''? –  Lucas Kauffman 04.02.2013, 12:55
  • 5
    @LucasKauffman: Как помещение Вара между " двойные кавычки. Одинарные кавычки не будут работать, поскольку они предотвратят переменное расширение. –  tripleee 04.02.2013, 21:25
if (( var_a == 0 && var_b == 0 )); then
   # ...
fi

В Bash всегда используйте ((...)) для арифметических оценок.

2
27.01.2020, 20:48

Теги

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