У меня есть скрипт на моей виртуальной машине, который я хотел бы запустить без []$ ./myscript

[studentuser@CentosStudentSvr ~]$ myscript

-bash: iduser: команда не найдена

в противном случае это ошибки:

-bash: iduser: command not found

как я могу это исправить?

Спасибо

2 ответа2

1

Если вы myscript ваша оболочка будет искать в вашем PATH, чтобы узнать, сможет ли она найти команду с именем myscript . В отличие от Windows, ваш текущий каталог не находится в вашем пути по умолчанию.

Что означает, что вы либо хотите:

  1. добавьте это к своему пути сейчас
  2. добавляйте его к своему пути при каждом запуске (отредактируйте скрипт запуска в вашей папке. Какие из них зависит от того, какую оболочку вы используете. Часто .profile или .bashsomething)
  3. Или укажите полный путь к двоичному файлу. Например ./iduser или /home/user229525/iduser .

Если текущий каталог (.) Уже находится в вашем пути, проверьте вашу программу.

  • Это исполняемый файл? (ls -l, найдите x в rwx)
  • Если это сценарий, начинается ли с шебанга? (например, первая строка #!/usr/bin/env bash).
0

Bash ищет "команды" в путях, перечисленных в переменной $ PATH. Переместите сценарий в /usr/bin или другую папку, указанную в $ PATH (или добавьте папку, в которой находится сценарий, в $ PATH).

Также вы можете определить псевдоним для bash, выполняющего alias myscript="bash /path/to/script/myscript" . (пожалуйста, проверьте синтаксис самостоятельно, я не уверен прямо сейчас)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .