У меня есть скрипт на виртуальной машине, который я хотел бы запустить без[]$ ./myscript
[studentuser@CentosStudentSvr ~]$ myscript
-bash: iduser: команда не найдена
в противном случае возникают ошибки:
-bash: iduser: command not found
как это исправить?
Спасибо
решение1
Если вы введете , myscript
то ваша оболочка будет искать в вашем PATH, чтобы увидеть, может ли она найти команду с именем myscript
. В отличие от Windows, ваш текущий каталог не находится в вашем path по умолчанию.
Это означает, что вам нужно либо:
- добавьте его в свой путь на данный момент (вручную)
- добавляйте его в свой путь каждый раз при запуске (отредактируйте скрипт запуска в своей папке. Какие именно, зависит от используемой вами оболочки. Часто это .profile или .bashsomething)
- Или укажите полный путь к бинарнику. Например,
./iduser
или/home/user229525/iduser
.
Если текущий каталог ( .
) уже есть в вашем пути, проверьте вашу программу.
- Является ли он исполняемым? (ls -l, ищите
x
в rwx) - Если это скрипт, начинается ли он с шебанга? (например, это первая строка
#!/usr/bin/env bash
).
решение2
Bash ищет "команды" в путях, перечисленных в переменной $PATH. Переместите скрипт в /usr/bin
или другую папку, указанную в $PATH (или добавьте папку, в которой находится скрипт, в $PATH).
Также вы можете определить псевдоним для bash, работающего под управлением alias myscript="bash /path/to/script/myscript"
. (пожалуйста, проверьте синтаксис самостоятельно, я сейчас не уверен)