>VAR="-n text"; echo $VAR >В данном случае -n будет воспринято как опция echo, а отнюдь не как часть строки. Этот ценный совет мне подсказал мистер voins
что-то не тот тут. я тоже всегда аргументы для echo и других команду беру в кавычки, если только не уверен в их содержимом(например, если это $i в for i in `seq 1 100`) в данном случае echo "$VAR" должен выводить именно строчку "-n"
впрочем, с echo есть вероятность забыть о дополнительном обрамлении кавычками, а с printf - нет, так что польза всё-таки есть )
Может быть для начала man dash ? А $(< file) это для компенсации потерь на использовании printf? Пример с echo точно плохой, гляньте сами на пример VAR="--help text"; printf $VAR
Comments 5
>В данном случае -n будет воспринято как опция echo, а отнюдь не как часть строки. Этот ценный совет мне подсказал мистер voins
А не пробовал echo "$VAR"?
Reply
[root@xxxxx ~]# VAR='-n'
[root@xxxxx ~]# echo $VAR
[root@xxxxx ~]# echo "$VAR"
[root@xxxxx ~]#
Первый пример был не самый удачный. В любом случае, проблема существует.
Reply
в данном случае echo "$VAR" должен выводить именно строчку "-n"
впрочем, с echo есть вероятность забыть о дополнительном обрамлении кавычками, а с printf - нет, так что польза всё-таки есть )
а второй трик не знал, спасибо
Reply
А $(< file) это для компенсации потерь на использовании printf?
Пример с echo точно плохой, гляньте сами на пример VAR="--help text"; printf $VAR
Reply
bash - suxx, use sh :-) na ubuntu /bin/sh - otnyud' ne bash, a kakoi-to strannii shell
Reply
Leave a comment