在命令之前使用shell变量进行Nohup

麻将

似乎nohup无法运行前面带有环境变量的命令。例如,

nohup LD_PRELOAD=~/file.so ./run &

nohup: failed to run command 'LD_PRELOAD=/home/mahmood/file.so': No such file or directory

实际上,file.so存在但不是命令。我该如何解决?

卡米尔·马乔洛夫斯基(Kamil Maciorowski)

像这样设置一个变量

foo=bar whatever

是Shell语法的一部分。分配必须在命令之前。

在您的情况下,外壳程序不识别LD_PRELOAD=~/file.so为分配。这只是一个参数nohupnohup不支持这样的设置变量。

如果您在shell中(并且很可能是因为~/并且&还需要shell),则可以将变量放在的环境中nohup,它将被继承:

foo=bar nohup whatever &

但这显然可能会影响nohup自己。如果您不在shell中和/或不希望变量在的环境中nohup,请告诉nohup运行一个解释语法的shell:

nohup sh -c 'foo=bar exec whatever'

在这里我明确使用了,exec因为在分配之后,我们不再需要外壳了。我相信有些shell会隐式执行最后一条命令(至少在某些情况下),有些则不会。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

shell:在命令之前设置变量

来自分类Dev

在命令给出“找不到命令”之前设置shell变量

来自分类Dev

通过python脚本使用nohup命令执行shell脚本

来自分类Dev

使用nohup / supervise命令进行日志重定向的问题

来自分类Dev

如何使用气流ssh_operator进行nohup命令?

来自分类Dev

如何避免使用路径变量进行Shell注入并等待命令存在?

来自分类Dev

如何避免使用路径变量进行Shell注入并等待命令存在?

来自分类Dev

使用shell命令的输出作为变量

来自分类Dev

使用Shell变量获取命令选项

来自分类Dev

Shell变量被视为命令

来自分类Dev

如何使用nohup执行多个命令

来自分类Dev

尽管使用了`nohup`,命令仍然退出

来自分类Dev

stdin使用nohup输入到命令

来自分类Dev

使用grep shell命令进行git diff解析

来自分类Dev

在shell脚本中使用变量作为命令行输入

来自分类Dev

如何在mv命令中使用shell脚本变量

来自分类Dev

如何使用shell命令的输出设置期望变量

来自分类Dev

如何在mv命令中使用shell脚本变量

来自分类Dev

如何在Shell命令中使用本地注册变量

来自分类Dev

如何在tmux命令中使用shell变量?

来自分类Dev

在shell脚本中使用变量作为命令行输入

来自分类Dev

Shell - 我如何在 sed 命令中使用变量

来自分类Dev

如何在 shell 的 date 命令中使用变量?

来自分类Dev

如何在shell中的sed命令中使用变量

来自分类Dev

在shell中执行nohup命令的时间是多少?

来自分类Dev

如何在set命令中使用括号对变量进行转义?

来自分类Dev

在bash命令行中使用递增变量进行循环?

来自分类常见问题

如何在Linux Shell中使用变量进行除法?

来自分类Dev

命令中的Shell变量替换

Related 相关文章

热门标签

归档