shell eval(linux shell eval y=’$’$x中的’$’什么作用)

本文目录
- linux shell eval y=’$’$x中的’$’什么作用
- linux shell 脚本中怎样将字符串转化为命令
- 如何将awk中定义的变量传递给外部shell脚本
- eval LAST=\${$#} shell函数里的一句 啥意思
- 如何在Command 中调Shell脚本
- shell 中“${sSql} “`eval “echo \“$temSql\“ “` 是什么意思
linux shell eval y=’$’$x中的’$’什么作用
你其实是eval 这个命令不熟悉,
eval可读取一连串的参数,然后再依参数本身的特性来执行
参数不限数目,彼此之间用分号分开。
那么eval y=’$’$x 等同与 eval y=“$“$x
‘ ’ ,或“ ” 的作用是 告诉shell,有两个参数需要展开。
第一次取参数时候,将$x 展开,得到foo,此时表达式可以理解为 y=$foo
那么第二次在展开时候,就会对$foo 展开,那么就得到了10.
我表达的意义不一定非常准确,你要结合自己的理解想一想。
linux shell 脚本中怎样将字符串转化为命令
1.没必要这样。因为shell脚本执行的时候是在一个子shell中执行的,即使你成功的将字符串转化为命令,你也不会因为脚本执行“cd /home”而在本shell中切换到/home下。……额,是不是说的绕了。。。
2.倘若按照你的想法,那就是一个新shell了。话句话说,你觉得像bash、sh、csh等等这些shell难道仅仅是一个脚本吗?再换句话说,难道bash仅仅是在sh的一个脚本吗?……
=====
3.假如真的需要在使用脚本的时候让使用者自己输入需要脚本执行的命令,只能用选择语句或者判断语句来匹配使用者的输入。因为使用者在使用脚本时输入给脚本的“命令”从根本上讲并不是命令,对脚本而言它仅仅是一个执行过程中的“选项”。好比“(1)删除(2)增加(3)退出... 请输入选项:”这种最平常的方式,拓展开也就是把提示去掉变成“请输入命令:”,而在使用者输入之后脚本用 if 删除==输入字符串 then 。。。这样的方式来满足需求。
======
没了。
如何将awk中定义的变量传递给外部shell脚本
awk将变量传给shell可以用eval, 如
eval $(awk ’BEGIN{print “a=ggg b=3“}’)
则shell变量$a就是ggg,shell变量$b就是3
示例结果:
eval LAST=\${$#} shell函数里的一句 啥意思
eval就是将后面的参数连接起来,成为一个新的命令,并且执行它。因此
你这条命令就相当于直接执行
LAST=${$#}
假定你的脚本是这样被执行的
./test.sh aaa bbb ccc ddd
那么 $# 就是4,那么
LAST=${$#}就相当于
LAST=${4}
也就是
LAST=ddd
再给你一个例子,让你体会一下有eval和没有eval的区别
foo=10 x=foo
y=’$’$x
echo $y
得到的结果是 $foo
而
eval y=’$’$x
echo $y
得到的结果是 10
如何在Command 中调Shell脚本
可以使用eval命令。eval命令,如同熟悉的其他脚本语言,会将它的参数做为命令执行。eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫...
shell 中“${sSql} “`eval “echo \“$temSql\“ “` 是什么意思
${sSql}表示引用一个变量的值,首先要给它赋值,例如:
sSql=MySql
那么${sSql}就表示MySql,你用echo ${sSql}就可以打出MySql。
`eval “echo \“$temSql\““`也是一样的,只不过多绕了几层。

更多文章:
金山铁路22号线(请问现在轨道交通22号线金山铁路是个什么情况据说9月28日就开通了啊~~~)
2026年10月11日 09:10
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40







