Скрипт Bash запускается из командной строки, но не запускается - PullRequest
0 голосов
/ 05 июля 2019

Я использую autossh на MBA 2010 под управлением Mavericks.Сценарий работает нормально и работает, как и ожидалось, из командной строки, но не при запуске launchd.

Я попытался включить PATH в список запуска launchd, но это не помогло.

Вотсценарий:

#!/bin/bash

/opt/local/bin/autossh -M 0 -f -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -o "ExitOnForwardFailure yes" -R 19990:localhost:22 mnewman@super.myddns.rocks -p 10000

Я пробовал с и без «ExitOnForwardFailure yes»

Вот пример:

<?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>Disabled</key>
    <false/>
    <key>EnvironmentVariables</key>
    <dict>
        <key>PATH</key>
        <string>/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
</string>
    </dict>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>com.mgnewman.autossh</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/mnewman/bin/autossh.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Я пробовал с и безПУТЬ.

Я хочу иметь возможность удаленного входа на эту машину.Я также попробовал это, используя только ssh, и он прекрасно работает из командной строки и из launchd:

#!/bin/bash

ssh -NTC -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -R 19999:172.16.0.56:22 mnewman@super.myddns.rocks -p 10000

Конечно, поскольку ssh работает, мне на самом деле не нужен autossh, но я хотел бы знать, почемуэто не работает для меня.

1 Ответ

0 голосов
/ 06 июля 2019

Работаю сейчас.Оказывается, чтобы он работал с launchd, мне пришлось добавить два параметра в сценарий оболочки: «-f» для запуска в фоновом режиме и «-N» не выполнять команду.Я понятия не имею, почему это сработало.

#!/bin/bash

/opt/local/bin/autossh -f -M 0 -N -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -R 19990:localhost:22 mnewman@ksuper.myddns.rocks -p 10000 
...