Эхо-строка в tcsh со специальными символами экранирована

1341
spookypeanut

Возможно ли выводить строку в tcsh так, чтобы она полностью экранировалась, как понял бы tcsh? Так же, как printf% q работает в bash:

% # Create a variable containing a tab character % MYMONKEY=$'my\tmonkey' % printf %q "$MYMONKEY" $'my\tmonkey' 

Который затем можно использовать для повторного ввода переменной в bash. Кто-нибудь знает что-нибудь подобное в tcsh?

2
Мне обычно приходилось писать программу-фильтр (sed-скрипт) именно для этой цели. mdpc 11 лет назад 0

1 ответ на вопрос

0
Hastur

Идея обходного пути:

в тсш

set MYMONKEY = "my \ tmonkey"

Обратите внимание, что вы не добавляете "\ n" в конце, поэтому вывод будет отражать это решение:

 printf "%s" $MYMONKEY my\tmonkey_My_Login_Name_@myhost>  to fix it you can use   printf "%s\n" $MYMONKEY my\tmonkey _My_Login_Name_@myhost> 

или же

 printf $MYMONKEY my monkey_My_Login_Name_@myhost>_  echo $MYMONKEY my monkey _My_Login_Name_@myhost>_