Linux shell单引号和双引号在一个命令中

时间:2016-04-25 15:57:02

标签: linux shell

我需要你的帮助才能使这个命令有效:

ssh -t user@localhost "cd /tmp ; PROMPT_COMMAND='echo -ne "\033]0;log\007"' ; bash"

这是我得到的错误:

bash: -c: line 0: unexpected EOF while looking for matching `''
bash: -c: line 1: syntax error: unexpected end of file
Connection to localhost closed.
log007' ; bash: command not found

由于

2 个答案:

答案 0 :(得分:1)

我建议用反斜杠(\")转义双引号:

ssh -t user@localhost "cd /tmp ; PROMPT_COMMAND='echo -ne \"\033]0;log\007\"' ; bash"

答案 1 :(得分:1)

它通过两个shell,意味着两个字符串扩展,所以逃避内部部分:

ssh -t user@localhost "cd /tmp ; PROMPT_COMMAND='echo -ne \"\033]0;log\007\"' ; bash"