我有一个 bash 脚本,我想在其中执行如下操作:
_command="zcat database.sql.gz | mysql database"
eval "($_command) & echo $!"
我想从 bash 脚本在后台运行命令(存储在变量中),然后为该应用程序返回正确的 pid
。
如上所示,它目前返回 bash 脚本的 pid
而不是...
有人知道如何让它工作吗?
编辑:
如果我这样说;如果你想这样做,你会怎么做?
我真正想做的就是写下这个:
($_command) & echo $! - 但随后我收到一条错误消息,指出 gzip 不理解命令“-u”,gzip 以某种方式认为 mysql 命令属于它。奇怪。
最佳答案
eval "($_command) & echo $!"
$!
在 eval
运行之前被展开。尝试转义它,例如“\$!”
或 '$!'
。
关于linux - 执行命令(从变量)然后显示正确的 pid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11905012/