如何编写脚本或函数来创建但不执行命令行

时间:2011-11-14 18:35:00

标签: bash

所有

可以吗?我们可以编写一些可以组装一个长命令行但执行它的东西,只需将它保留在那里,等待ENTER,还是等待编辑?

2 个答案:

答案 0 :(得分:1)

我对你的需求的理解是:

你想执行一个脚本/或命令,生成另一个命令行,在你当前的提示符下,这样你就可以按Enter键来触发它或编辑一些东西然后按Enter键。

如果我们使用bash history命令执行一些技巧,这是可能的:

 echo "this is a really long command">> $(echo $HISTFILE)&& history -r

然后按向上箭头,文本this is a really long command将显示在当前提示下,并等待“输入”:)

请注意,这将清除尚未写入历史记录文件的命令历史记录。为了保留这些命令并在最后附加目标cmd this is a really long command,你可以这样做:

history -a && echo "this is a really long command">> $(echo $HISTFILE)&& history -r

希望这个技巧可以帮助你解决问题。

答案 1 :(得分:0)

只需将其作为字符串分配给变量,就不会执行:

echo "Type a command: "
read CMD

# Or give CMD a string representing a command directly
# CMD="ps -ef"

然后运行它:

RESULT=`$CMD`
# Or, just
$CMD # by itself will execute the string as a command