Настраиваемый сценарий оболочки не может быть запущен

Я написал сценарий оболочки, показать сценарий

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
Другие вопросы по тегам