首页 新闻 会员 周边 捐助

ssh ””里面换行可以用\n吗

0
[待解决问题]

# 你的写法:
ssh user@host "cmd1\n;cmd2"

# 实际效果:
# 远程收到的命令是字面量:`cmd1\n;cmd2`
# Shell 会尝试去执行一个叫做 "cmd1\n" 的程序,这显然会报错。

 

方法 A:直接按回车(最直观)
在双引号内直接换行,Bash 会自动将其解释为换行符:

ssh user@host "
command1
command2
"

方法 B:使用 '...' 语法(支持转义序列)
如果你非要写在一行里,必须使用 '...' 这种特殊的单引号格式,里面的 n 才会被解释为换行:

ssh user@host $'command1\ncommand2\ncommand3'

方法 C:使用 $'n' 拼接
如果你想保持代码在一行,可以这样写:

ssh user@host "command1"$'\n'"command2"$'\n'"command3"

*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1294
提问于:2025-12-30 12:40
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册