执行存储在变量中的命令
我有一个存储在变量中的命令。让我们假设变量$i具有值: cat -nT index.php |grep 'someregex' 当我尝试通过键入来执行上述变量时,$i它失败了,因为外壳程序尝试将整个变量作为一个命令执行。我使用也尝试eval($i)并把$i在反引号。 如何使Shell $i像命令一样执行?而且为什么它不能与之相同。 $i='echo hi'; $i 是因为我不得不在单引号中弄乱吗?(因为您不能嵌套它们。)目前,我的解决方案是 echo $i > /foo; . /foo 但是我不想为此创建一个文件,而只是以后删除它。 我的意思是“我砍了单引号是: $i='cat index.php | grep -P '"'"'MYREGEXHERE'"'"