Size: a a a

2018 June 16

D

Dima in pro.bash
надеялся что можно будет в BASH при парсенге использовать вот такие вот строки VAR= $one || $tow || default но ничего не получилось.
источник

D

Dima in pro.bash
Потом меня всегда после C удивляет то как BASH считает истину и ложь: https://goo.gl/f2Yib9
источник

D

Dima in pro.bash
a && echo "return 0 true" || echo "return 1 false" # TRUE
источник

KG

Kirill Geyzerov in pro.bash
Баш не считает истину за ложь. Смысл логических операций таков: если команда 1 завершилась без ошибок (код возврата 0), то делаем (не делаем) вызов второй
источник

TK

Tetyana K in pro.bash
Dima
надеялся что можно будет в BASH при парсенге использовать вот такие вот строки VAR= $one || $tow || default но ничего не получилось.
они возвращают код ошибки
источник

D

Dima in pro.bash
Kirill Geyzerov
Баш не считает истину за ложь. Смысл логических операций таков: если команда 1 завершилась без ошибок (код возврата 0), то делаем (не делаем) вызов второй
ага.
источник

D

Dima in pro.bash
Tetyana K
они возвращают код ошибки
а как вот на баже красиво сделать анало вот такой вот операции var=var1 OR var2 OR "default"?
источник

KG

Kirill Geyzerov in pro.bash
Используй test
источник

KG

Kirill Geyzerov in pro.bash
Или [ ]
источник

n

nod in pro.bash
Dima
Потом меня всегда после C удивляет то как BASH считает истину и ложь: https://goo.gl/f2Yib9
Нуу не совсем. 0 - успешное завершение, всё остальное не 0. То есть это может быть и не 1.
источник

D

Dima in pro.bash
Kirill Geyzerov
Используй test
а что они возвращать будут? они разве не сигналы возвращают?
источник

KG

Kirill Geyzerov in pro.bash
Dima
а что они возвращать будут? они разве не сигналы возвращают?
Test вернет 0 код возврата или 1, а внутри будет вырадение логическое с переменными и шл...
источник

KG

Kirill Geyzerov in pro.bash
Но есть один хитрый способ: математические выражения: команда-оператор (( ))
источник

KG

Kirill Geyzerov in pro.bash
Посмотри, что это такое
источник

KG

Kirill Geyzerov in pro.bash
Там можно магию делать
источник

D

Dima in pro.bash
Kirill Geyzerov
Test вернет 0 код возврата или 1, а внутри будет вырадение логическое с переменными и шл...
вот эта строчка a=b || c || "def" нужна для присваивания  a значения. Вот с test разве значения будут присавивасться a=[ -n $b]||[ -n $c ] || "default" разеве a станет когда то b?
источник

D

Dima in pro.bash
Kirill Geyzerov
Но есть один хитрый способ: математические выражения: команда-оператор (( ))
спасибо, это интересно: https://www.tldp.org/LDP/abs/html/dblparens.html
источник

D

Dima in pro.bash
источник

KG

Kirill Geyzerov in pro.bash
Ненет, ты пытаешься реалии высокоуровневых языков перенсти на bash. Чтобы прсвоить переменной результат команды (не оператора, как в нормальных языках), ты делаешь

a=$(bla bla)
источник

KG

Kirill Geyzerov in pro.bash
В (( есть C-подобные булевы операторы, короче то, что нужно
источник