> echo "hi"
hi
> VAR='echo "hi"'
> $VAR
"hi"
为什么上述命令的输出不同?
单引号也会发生类似的情况:
> VAR="echo 'hi'"
> $VAR
> 'hi'
@ jw013好点,很棒的文章。我喜欢引用“变量保存数据,函数保存代码”。从第一个链接开始,但就我的使用而言,提供给函数(在本例中为
—
科里·克莱因
at)的数据是代码。有什么技巧可以安全地组织/收集代码at?
at将sh语法作为输入。因此,生成输入at意味着sh从任意输入生成有效的,正确引用的语法,这并非微不足道,因此,我将尽可能避免使用它。如果您可以提供更多有关要完成的目标的详细信息,那将真正有帮助。
抱歉,我不想分散太多细节,但是IMO,我所做的并不是很复杂。我正在创建一个需要“时间”和“消息”的脚本。然后
—
科里·克莱因
at,它会在给定的“时间” at内运行,并告诉您运行命令dzen2。 dzen2从标准输入中获取“消息”,还使用其他一些静态参数。困难在于我需要将用户的“ message”参数传递到dzen2命令中,但是我实际上并没有在运行dzen2自己,而是在告诉我at这样做。
eval是潜在安全漏洞的雷区,您必须非常小心