Ubuntu выполнить файл без./

Используя строку shebang, я добавил функциональность для запуска сценария TCL, используя оболочку желания. Тем не менее, я могу только быстро запустить файл, набрав ./filename.tcl в терминале. Я хотел бы знать, есть ли способ запустить тот же сценарий без ввода ./ перед именем файла?

1 ответ

Решение

Если вы пропустите путь к файлу, ваша оболочка будет искать команду через переменную $PATH. "." это текущий каталог, в котором указан путь к файлу. Ваши варианты:

Поместите файл в подкаталог, такой как bin:

$ bin/filename.tcl

Это скорее всего не то, что вы хотите. Возможно, вы захотите изменить свой $PATH, чтобы включить текущий каталог.

$ PATH=$PATH:. filename.tcl

Скорее всего, нецелесообразно экспортировать текущий каталог в переменную $PATH, поскольку это может вызвать непредвиденное поведение. Может быть лучше экспортировать полный путь в каталог bin. Так, например, если вы работали с $HOME/my/code/bin/filename.tcl, вы можете добавить это в ваш.bashrc (или в любой файл конфигурации оболочки, который вы используете)

export PATH="$PATH:$HOME/my/code/bin"

Тогда вы должны быть в состоянии бежать

filename.tcl

Без указания пути к каталогу.

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