繁体   English   中英

您将如何执行在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM