gpt4 book ai didi

linux - Linux shell 脚本中的运行时代码生成

转载 作者:太空狗 更新时间:2023-10-29 11:44:48 29 4
gpt4 key购买 nike

假设我有以下代码片段,它在运行时生成一个我想在 shell 中执行的字符串(就像我只是将字符串粘贴到终端并按下回车键一样):

cmd=""
for i in first second third
do
cmd="$cmd | grep $i"
done
cmd="cat /usr/share/dict/words $cmd"
$cmd

然而,这里的问题是竖线字符没有被这样解释;它们被视为 cat 的参数,就好像我已经转义了它们一样:

cat: |: No such file or directory
cat: grep: No such file or directory
cat: first: No such file or directory
cat: |: No such file or directory
cat: grep: No such file or directory
cat: second: No such file or directory
cat: |: No such file or directory
cat: grep: No such file or directory
cat: third: No such file or directory

有没有办法“执行”管道字符未转义的字符串?有没有更好的方法在运行时生成这样的代码?

我更喜欢可移植解决方案,但 bashism 是可以接受的。

最佳答案

要执行字符串,您可以使用 eval $cmd

关于linux - Linux shell 脚本中的运行时代码生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096713/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com