Команда создания приложения в ubuntu

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

0
задан 3 August 2020 в 19:16

1 ответ

Это довольно просто, но я предполагаю, что вы еще не знаете о псевдонимах.

Псевдонимы - это способы превратить ваши собственные настраиваемые команды в реально работающие команды. Они очень удобны.

Откройте свой домашний каталог и создайте текстовый файл с именем .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

Как видите, есть множество способов сделать это. Мне больше всего нравится метод псевдонима, поскольку он не требует никаких повышенных разрешений, и я большой поклонник метода «наименьших разрешений».

0
ответ дан 11 August 2020 в 20:13

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

Похожие вопросы: