2013-07-28 5 views
0

Je suis simplement incapable de chercher dans cette liste de questions. S'il vous plaît aidez-moi ici pour trouver si quelqu'un a déjà demandé. Je fais ssh sur divers m/c avec un nom de fichier comme "/ a/b/fichier $$$$". ssh $host "https://stackoverflow.com/a/b/file$$$$"comment gérer le nom de fichier ayant double dollar

est maintenant été remplacée par ssh $host "https://stackoverflow.com/a/b/file54645464" ci-dessus est l'id du proc scrpt bash que je suis en cours d'exécution.

si la question est que les requêtes ultérieures ne pouvaient pas trouver ce

tout pointeur sera d'une grande aide.

Répondre

2

Essayez

ssh $host '/a/b/file$$$$' 

avec ' au lieu Citant des " empêche la substitution variable.

De la manpage (section QUOTING):

caractères Enserrage guillemets simples préserve la valeur littérale de chaque caractère dans les citations.

La variable substituée dans votre cas est $:

$

par l'ID de processus du shell. Dans un sous-shell, il s'étend à l'ID de processus du shell en cours, pas au sous-shell.

Depuis un signe $ est (également) utilisé pour accéder à la valeur de la variable $ chaque paire ($$) est remplacée par l'ID de processus et qui est la raison pour laquelle vous vous retrouvez avec le numéro de processus deux fois.

+0

Merci ce fut utile. Je remplace ma chaîne comme '/ a/b/fichier/\ $ \ $ \ $ \ $' et cela a bien fonctionné. Merci encore. –

2

utilisation des guillemets simples ont $ pas dépliée:

$> echo '$ok' 
$ok 
+0

Merci, c'était utile. Je remplace ma chaîne comme '/ a/b/fichier/\ $ \ $ \ $ \ $' et cela a bien fonctionné. Merci encore. –

Questions connexes