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
Без указания пути к каталогу.