Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了变量 – 在变量中解压缩字符串大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在 Bash中,我可以使用以下代码: [ "$sshcmd" = "" ] && sshcmd="ssh -someopts myhost" $sshcmd "echo Hello world" 在ZSH中,相同的代码不起作用,因为它试图找到“ssh -someopts myhost”可执行文件.我怎样才能在ZSH中做同样的事情? 谢谢,艾伯特 要像其他sHell一样在空白处拆分字符串(更常见的
@H_404_4@
Bash中,我可以使用以下代码

[ "$sshcmd" = "" ] && sshcmd="ssh -someopts myhost"

$sshcmd "echo Hello world"

在ZSH中,相同的代码不起作用,因为它试图找到“ssh -someopts myhost”可执行文件.我怎样才能在ZSH中做同样的事情?

谢谢,艾伯特

@H_404_4@

解决方法@H_944_27@
要像其他sHell一样在空白处拆分字符串(更常见的是,在$IFS):$= sshcmd

但是你应该使sshcmd成为一个数组,这样如果其中一个选项包含空格,你的命令仍然有效:

sshcmd=(ssh -someopts myopts)
$sshcmd[@] "echo Hello world"

便说一下,这也适用于bash和ksh;但是你必须保护数组变量替换进一步分裂和文件名扩展:

sshcmd=(ssh -someopts myopts)
"${sshcmd[@]}" "echo Hello world"
@H_404_4@ @H_404_4@
@H_404_4@
@H_404_4@

大佬总结

以上是大佬教程为你收集整理的变量 – 在变量中解压缩字符串全部内容,希望文章能够帮你解决变量 – 在变量中解压缩字符串所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。