У меня была похожая проблема: я мог выполнять команды ssh
, но не команды scp
. Я прошел через хорошие методы отладки Kenster, которые все еще ни к чему не привели, но очень удобны! В конце концов я обнаружил, что проблема связана с echo
командами в моем .bashrc
скрипте (после вставки дополнительных ).Как только я закомментировал все команды echo
в сценарии, я смог успешно выполнить команду scp
.
script -c "./SomeScript.sh -flags" temp
У меня эта команда сработала, но я тоже не совсем понимаю, почему.
Если ./SomeScript.sh -d > temp
приводит к пустому файлу (, но вы можете видеть вывод на экране ), это означает, что программа, возможно, печатает в stderr вместо stout. Итак, попробуйте также перенаправить его stderr --, т.е. используйте это:
./SomeScript.sh -d >temp 2>&1
Или вы можете отправить результаты в два отдельных файла:
./myScript 1>outtemp 2>errtemp