Size: a a a

2020 December 14

F

Fljúgandi Kettlingur... in pro.bash
SEREGA PRIVET$ unset A
SEREGA PRIVET$ [ $A != "" ]; echo $?
bash: [: !=: unary operator expected
2
SEREGA PRIVET$ [ x$A != x"" ]; echo $?
1
SEREGA PRIVET$ [ $A = "" ]; echo $?
bash: [: =: unary operator expected
2
SEREGA PRIVET$ [ x$A = x"" ]; echo $?
0
источник

аᶘ

асоциальный пикотран... in pro.bash
Так а что тебе мешает вместо этой x просто всегда использовать кавычки?
источник

F

Fljúgandi Kettlingur... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Так а что тебе мешает вместо этой x просто всегда использовать кавычки?
да, это тоже будет работать.
источник

аᶘ

асоциальный пикотран... in pro.bash
Fljúgandi Kettlingur
да, это тоже будет работать.
Я так понимаю, что это не работало когда-то.
источник

F

Fljúgandi Kettlingur... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Я так понимаю, что это не работало когда-то.
я не застал те времена
источник

F

Fljúgandi Kettlingur... in pro.bash
но куча пособий по башу с девяностых не менялась
источник

аᶘ

асоциальный пикотран... in pro.bash
Просто у меня ощущение, что люди до сих пор пишут x$VAR = x1 по инерции.
источник

аᶘ

асоциальный пикотран... in pro.bash
К слову, внезапно "-z" = "-z" работает нормально.
источник

F

Fljúgandi Kettlingur... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
К слову, внезапно "-z" = "-z" работает нормально.
оно даже без кавычек работает нормально
источник

аᶘ

асоциальный пикотран... in pro.bash
Fljúgandi Kettlingur
оно даже без кавычек работает нормально
угу, я тоже проверил, это неожиданно даже
источник

аᶘ

асоциальный пикотран... in pro.bash
Ладно, я погуглил второй раз и таки нагуглил:
https://stackoverflow.com/questions/174119/why-do-shell-script-comparisons-often-use-xvar-xyes
источник

аᶘ

асоциальный пикотран... in pro.bash
[ -n "$string" -o "$a" = "$b" ] may cause an error with some versions of Bash if $string is empty. The safe way is to append an extra character to possibly empty variables, [ "x$string" != x -o "x$a" = "x$b" ] (the "x's" cancel out).
источник

аᶘ

асоциальный пикотран... in pro.bash
Не делайте так, пожалуйста. Пишите конкретные баги и версии с ошибками.
источник

аᶘ

асоциальный пикотран... in pro.bash
источник

🌚

🌚 YupiRex in pro.bash
Fljúgandi Kettlingur
SEREGA PRIVET$ unset A
SEREGA PRIVET$ [ $A != "" ]; echo $?
bash: [: !=: unary operator expected
2
SEREGA PRIVET$ [ x$A != x"" ]; echo $?
1
SEREGA PRIVET$ [ $A = "" ]; echo $?
bash: [: =: unary operator expected
2
SEREGA PRIVET$ [ x$A = x"" ]; echo $?
0
я все не читал...
user@user-PC:~$ unset q;  [ $q ]; echo $?
1
user@user-PC:~$ unset q; ! [ $q ]; echo $?
0
источник

🌚

🌚 YupiRex in pro.bash
[  grep 'text' file ] && echo ok — ✅
[ -n "$(grep 'text' file)" ]  && echo ok — ❌
источник

F

Fljúgandi Kettlingur... in pro.bash
🌚 YupiRex
я все не читал...
user@user-PC:~$ unset q;  [ $q ]; echo $?
1
user@user-PC:~$ unset q; ! [ $q ]; echo $?
0
ииии? Что ты хочешь продемонстрировать?
источник

🌚

🌚 YupiRex in pro.bash
Fljúgandi Kettlingur
ииии? Что ты хочешь продемонстрировать?
я хотел сказать, что строку проверять через -n можно, но переменную  нужно иначе
источник

F

Fljúgandi Kettlingur... in pro.bash
🌚 YupiRex
я хотел сказать, что строку проверять через -n можно, но переменную  нужно иначе
1. -n $(grep) - это пипец. grep -q. Да и grep возвращает 0/1 в зависимости от нашел-нинашел
2. строку можно а переменную нельзя? чтоо? Переменная - это всегда строка, потому что это Баш.
источник

🌚

🌚 YupiRex in pro.bash
q="" и unset q — разное
источник