大佬教程收集整理的这篇文章主要介绍了与仅评估变量相比,eval / bash -c有什么意义?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
第三种形式与其他两种形式完全不同,但是要理解为什么,我们需要在解释命令时使用bash时要遵循的操作顺序,并查看在使用每种方法时应遵循哪些操作。
eval "$String"
eval "$String"
从#1开始执行上述所有步骤。从而:
>()
被处理$foo
感到非常荣幸sh -c "$String"
…的性能与之相同eval
,但 在作为单独过程启动的新外壳中
;因此,当此新进程退出时,对变量状态,当前目录等的更改将过期。(注意,那就是,新的外壳可以是不同的解释支持不同的语言;即sh -c
"foo"
不支持相同的语法bash
,ksh
,zsh
等做的)。
$String
…从第5步“单词拆分”开始。
这是什么意思?
printf '%s\n' "two words"
因此将解析为printf
%s\n
"two
words"
,这与的通常/预期行为printf
%s\n
two words
(外壳使用了引号)相反。
;
s,&
s或类似命令上)。从而:
s='echo foo && echo bar'
$s
…将发出以下输出:
foo && echo bar
…而不是以下情况:
foo
bar
不$(foo)
,不$foo
,不<(foo)
,等等。
>foo
或者2>&1
只是通过字符串拆分创建的另一个单词,而不是sHell指令。
以上是大佬教程为你收集整理的与仅评估变量相比,eval / bash -c有什么意义?全部内容,希望文章能够帮你解决与仅评估变量相比,eval / bash -c有什么意义?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。