[英]How do I combine a string and a variable into one command and execute it in bash?
[英]How would you execute a command stored as a string in one line of bash
如何执行在bash的一行中存储为字符串的命令。 例如,这行不通,但我想做类似的事情。
echo "uname -a" | eval
是否有可能这样做,还是我必须创建bash脚本?
更新资料
我正在使用boom来存储一些单行命令行语句。 我希望能够获取并执行它们。 像这样:
boom echo name | eval
如果要专门使用echo
且不介意生成子外壳,请echo "uname -a" | sh
echo "uname -a" | sh
作品。
s='<your_string>'
eval "$s"
请注意,在这种情况下通常有更好的方法(即,最有可能不需要eval )。
#!/bin/sh
s="date +%Y-%m-%d"
$s
执行此脚本将打印2012-02-01
。
您可以使用bash -c选项,如下所示:
bash -c "your-string-with-shell-commands"
例如:
bash -c "dirname $PWD/foo"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.