(Untitled)

Dec 25, 2006 17:24

За время работы в Джете узнал два новых трюка для шелла:
глянуть )

jet, code, tips, shell

Leave a comment

Comments 5

los_t December 25 2006, 14:45:10 UTC
>VAR="-n text"; echo $VAR
>В данном случае -n будет воспринято как опция echo, а отнюдь не как часть строки. Этот ценный совет мне подсказал мистер voins

А не пробовал echo "$VAR"?

Reply

php_coder December 25 2006, 14:48:55 UTC


[root@xxxxx ~]# VAR='-n'
[root@xxxxx ~]# echo $VAR
[root@xxxxx ~]# echo "$VAR"
[root@xxxxx ~]#

Первый пример был не самый удачный. В любом случае, проблема существует.

Reply

eth0_blog December 25 2006, 18:24:30 UTC
что-то не тот тут. я тоже всегда аргументы для echo и других команду беру в кавычки, если только не уверен в их содержимом(например, если это $i в for i in `seq 1 100`)
в данном случае echo "$VAR" должен выводить именно строчку "-n"

впрочем, с echo есть вероятность забыть о дополнительном обрамлении кавычками, а с printf - нет, так что польза всё-таки есть )

а второй трик не знал, спасибо

Reply


vitlav December 25 2006, 23:25:37 UTC
Может быть для начала man dash ?
А $(< file) это для компенсации потерь на использовании printf?
Пример с echo точно плохой, гляньте сами на пример VAR="--help text"; printf $VAR

Reply


alexott February 5 2007, 14:00:57 UTC
echo -- "-n text" ne spasaet?
bash - suxx, use sh :-) na ubuntu /bin/sh - otnyud' ne bash, a kakoi-to strannii shell

Reply


Leave a comment

Up