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

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

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

Как я должен решить проблему?

0
задан 26 July 2016 в 04:09

2 ответа

Вы не должны добавлять сам сценарий к $PATH. Вместо этого необходимо добавить каталог, содержащий сценарий к $PATH:

export PATH=$PATH:/opt/scripts
1
ответ дан 28 September 2019 в 19:05

Это не должно быть /opt/scripts/myscript.sh. Это должно быть /opt/scripts. Это рассматривает /opt/scripts/myscript.sh как каталог и использует все файлы в нем, не самом. Это может быть достигнуто следующими командами;

PATH=$PATH:/opt/scripts
export PATH
1
ответ дан 28 September 2019 в 19:05

Другие вопросы по тегам:

Похожие вопросы: