Bash 缺少尾随-';在远程shell命令中
在我的bash shell脚本中Bash 缺少尾随-';在远程shell命令中,bash,shell,rsync,Bash,Shell,Rsync,在我的bash shell脚本中 rsync-a--delete-e“ssh-i/keypath”/source\u dir/username@remotehost:/dest_dir/ 无论上面的[eval,双引号到单引号]组合在下面给出了什么错误 远程shell命令中缺少尾随“-”。 rsync错误:语法或用法错误(代码1),位于../main.c(335)[发送方=2.6.8] 但在命令提示符下直接使用相同的命令。 有人能帮我解决我在这里遗漏的问题吗 谢谢我不确定你的问题是什么,但对我来说
rsync-a--delete-e“ssh-i/keypath”/source\u dir/username@remotehost:/dest_dir/
无论上面的[eval,双引号到单引号]组合在下面给出了什么错误
远程shell命令中缺少尾随“-”。
rsync错误:语法或用法错误(代码1),位于../main.c(335)[发送方=2.6.8]
但在命令提示符下直接使用相同的命令。
有人能帮我解决我在这里遗漏的问题吗
谢谢我不确定你的问题是什么,但对我来说,大多数奇怪的rsync错误都是由
.bashrc
或.bash_profile
(或其他shell rc文件)在登录时输出的内容引起的。目前,我通常在.bashrc
和.bash\u profile
中以第一行的形式编写以下语句:
# return if it's not an interactive shell
[[ $- == *i* ]] || return 0
不确定您的问题是什么,但对我来说,大多数奇怪的rsync错误是由
.bashrc
或.bash_profile
(或其他shell rc文件)在登录时输出某些内容引起的。目前,我通常在.bashrc
和.bash\u profile
中以第一行的形式编写以下语句:
# return if it's not an interactive shell
[[ $- == *i* ]] || return 0
您的问题是bash脚本中嵌入了引号 查看以下解决方案(如果您觉得有用,请向上投票):
您的问题在于bash脚本中嵌入了引号 查看以下解决方案(如果您觉得有用,请向上投票):
一个对我有效的简单解决方案是使用单引号而不是双引号,即
rsync -a --delete -e 'ssh -i /keypath' /source_dir/ username@remotehost:/dest_dir/
一个对我有效的简单解决方案是使用单引号而不是双引号,即
rsync -a --delete -e 'ssh -i /keypath' /source_dir/ username@remotehost:/dest_dir/
没有足够的信息来确定。尝试运行
rsync-v-v-v
,它将打印出远程服务器上正在运行的实际shell命令,作为调试输出的第一行。信息不足,无法确定。尝试运行rsync-v-v-v
,它将打印出正在远程服务器上运行的实际shell命令,作为调试输出的第一行。