2 votes

Chaîne d'écho en tcsh avec caractères spéciaux échappés

Est-il possible de faire sortir une chaîne de caractères en tcsh de telle sorte qu'elle soit entièrement échappée, comme le comprendrait tcsh ? De la même manière que printf %q fonctionne en bash :

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

Qui peut ensuite être utilisé pour réintroduire la variable dans bash. Quelqu'un connaît-il quelque chose de similaire dans tcsh ?

0 votes

J'ai généralement dû écrire un programme de filtrage (sed script) dans ce but.

0voto

Hastur Points 17791

Idée de contournement :

dans tcsh

set MYMONKEY="my \tmonkey "

Note vous n'ajoutez pas un " \n "à la fin pour que la sortie reflète cette décision :

 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>

o

 printf $MYMONKEY
 my      monkey_My_Login_Name_@myhost>_

 echo $MYMONKEY
 my      monkey
 _My_Login_Name_@myhost>_

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X