Настраиваемый сценарий оболочки не может быть запущен
Я написал сценарий оболочки, показать сценарий
myscript.sh
#!/bin/bash
ssh -t proxy@PROXY -p 22022 "ssh me@REMOATE_MACHINE -p 22022"
И я положил сценарий /opt/scripts/myscript.sh
, а также chmod u+x myscript.sh
, После этого я добавил export PATH=$PATH:/opt/scripts/myscript.sh
в .bashrc
,
А потом source .bashrc
, но когда я печатаю myscript.sh
терминал вернулся myscript.sh: command not found
А также echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/scripts/myscript.sh:/usr/lib/jvm/java-8-oracle/bin:/bin:/bin:/opt/hadoop-2.6.4/bin:/opt/hadoop-2.6.4/sbin:/opt/hive-2.0.0-bin/bin
/opt/scripts/myscript.sh
находится в PATH
Как мне решить проблему?
2 ответа
Решение
Вы не должны добавлять сам скрипт в $PATH
, Вместо этого вы должны добавить каталог, содержащий скрипт $PATH
:
export PATH=$PATH:/opt/scripts
Так не должно быть /opt/scripts/myscript.sh
, Так должно быть /opt/scripts
, Это лечит /opt/scripts/myscript.sh
в качестве каталога и используя все файлы в нем, а не сам по себе. Это может быть достигнуто с помощью следующих команд;
PATH=$PATH:/opt/scripts
export PATH