I have a script script.sh but I am very lazy if when running must open through the folder where the file and run it in the way ./script.sh,
How do I get my script to use keywords?
I have a script.sh file
if I write it in the command
"testscript" will then open the script.sh file
help please
Это довольно просто, но я предполагаю, что вы еще не знаете о псевдонимах.
Псевдонимы - это способы превратить ваши собственные настраиваемые команды в реально работающие команды. Они очень удобны.
Откройте свой домашний каталог и создайте текстовый файл с именем .bash_aliases
. Продолжайте и сохраните его, но оставьте его открытым в вашем редакторе.
Теперь придумайте слово или фразу, которые вы хотели бы использовать для выполнения вашего сценария. В моем случае я использовал test
.
В моем каталоге Documents я создал файл с именем test.sh
и внутри него:
echo "This is a test script!"
NOTE You ' я хочу не забыть сделать ваш скрипт исполняемым. Вы можете сделать это с помощью chmod + x
или в графическом интерфейсе с помощью параметра меню правой кнопкой мыши / свойств.
Теперь вернемся к вашему . bash_aliases
, вы захотите добавить его как команду. В моем случае это выглядит так:
alias test="./Documents/test.sh"
ПРИМЕЧАНИЕ Во всех этих случаях "." и заглавные буквы важны. Он чувствителен к регистру.
Теперь вам нужно указать вашей системе искать (и перезагружать любые новые) псевдонимы. Это делается в терминале с помощью следующего:
source ~/.bash_aliases
После всего этого я могу сделать это:
$ test
This is a test script
Как видите, вы сообщаете ему, где находятся псевдонимы, и перезагружаете их. Каждый раз, когда вы добавляете новые псевдонимы, вам нужно будет запускать их, чтобы их можно было использовать.
РЕДАКТИРОВАТЬ: Хотя описанный выше метод будет работать, он будет работать только тогда, когда терминал открыт в вашем / home Каталог / user /
. Это нормально, и это место по умолчанию для большинства терминалов, но не вся работа терминала выполняется в этом каталоге.
Ответ следующий:
$HOME/Documents/test.sh
Теперь, независимо от того, в каком каталоге вы находитесь, вы можете набрать test.sh
, и он будет работать. Это не требует повышенных разрешений, и тогда сценарий может работать только с вашими пользовательскими разрешениями или любыми дополнительными разрешениями, которые вы предоставляете во время выполнения.
Если бы мне пришлось выбирать, я бы выбрал этот метод - тот, где вы используете переменную домашнего каталога пользователя $ HOME
(опять же, с учетом регистра), поскольку обычный пользователь может ее установить, настроить, использовать и т. д. Для этого не требуется root-доступ или какой-либо дополнительные разрешения.
Как упоминалось в другом месте в этом ответе, существует множество способов сделать это. Выберите тот, который лучше всего соответствует вашим потребностям и требует наименьших разрешений.
Метод № 2:
Мне стало скучно, и я решил добавить другой способ.
После того, как вы сделаете свой скрипт исполняемым, вы можете переместить свой сценарий в usr / bin
и просто сделать его командой. В моем случае я использовал графический интерфейс.
В терминале я ввел:
sudo pcmanfm
Затем я просто скопировал test.sh в usr / bin
- и он сохранил разрешения для исполняемых файлов, которые я » d применялся раньше.
На этом этапе я мог бы просто использовать test.sh
, и он работал бы.
Мне это не понравилось, поэтому я переименовал его в простой test1
и удалил .sh из имени файла. Linux не особо заботится об именах расширений. Я не мог назвать его тестом
, так как тест уже был в каталоге usr / bin
. Итак, я назвал его test1
. Очевидно, вы можете называть его как хотите, при условии, что это не конфликтует с другими именами файлов.
Теперь из терминала, он работает примерно так:
$ test1
This is a test script
Как видите, есть множество способов сделать это. Мне больше всего нравится метод псевдонима, поскольку он не требует никаких повышенных разрешений, и я большой поклонник метода «наименьших разрешений».