变量 – 在变量中解压缩字符串
发布时间:2020-12-14 02:11:58 所属栏目:Linux 来源:网络整理
导读:在 Bash中,我可以使用以下代码: [ "$sshcmd" = "" ] sshcmd="ssh -someopts myhost"$sshcmd "echo hello world" 在ZSH中,相同的代码不起作用,因为它试图找到“ssh -someopts myhost”可执行文件.我怎样才能在ZSH中做同样的事情? 谢谢,艾伯特 解决方法 要像
在
Bash中,我可以使用以下代码:
[ "$sshcmd" = "" ] && sshcmd="ssh -someopts myhost" $sshcmd "echo hello world" 在ZSH中,相同的代码不起作用,因为它试图找到“ssh -someopts myhost”可执行文件.我怎样才能在ZSH中做同样的事情? 谢谢,艾伯特 解决方法
要像其他shell一样在空白处拆分字符串(更常见的是,在$IFS):$= sshcmd
但是你应该使sshcmd成为一个数组,这样如果其中一个选项包含空格,你的命令仍然有效: sshcmd=(ssh -someopts myopts) $sshcmd[@] "echo hello world" 顺便说一下,这也适用于bash和ksh;但是你必须保护数组变量替换进一步分裂和文件名扩展: sshcmd=(ssh -someopts myopts) "${sshcmd[@]}" "echo hello world" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |