Как сделать команду в linux, используя скрипт bash? - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь сделать команду для терминала. У меня подготовлен сценарий bash (la. sh), и я хочу просто набрать la для его запуска. Как я могу получить код, чтобы я мог просто набрать la?

Я попытался поместить его в папку / bin, но безуспешно.

Что я могу сделать, чтобы это исправить ?

Я использую последнюю версию Manjaro Gnome.

Спасибо большое !!!

Кстати, скрипт был буквально ls.

Это был просто учебный сценарий.

Ответы [ 4 ]

1 голос
/ 21 февраля 2020

Предположим, что ваш скрипт хранится в /some/path/la.sh. На мой взгляд, у вас есть несколько решений для достижения sh вашей цели:

Вариант 1:

Добавьте скрипт в путь вашего пользователя, чтобы вы могли напрямую вызвать его .

echo "export PATH=$PATH:/some/path/" >> ~/.bashrc

Тогда вы сможете использовать в своем терминале:

$ la.sh

Используя эту опцию, вы можете при необходимости вызвать la.sh с любыми параметрами. Если требуется вызвать просто la, вы также можете переименовать сценарий или создать программную ссылку:

mv /some/path/la.sh /some/path/la

или

ln -s /some/path/la.sh /some/path/la

Опция 2:

Создайте псевдоним для скрипта.

echo "alias la='/some/path/la.sh'" >> ~.bashrc

Тогда вы сможете использовать в своем терминале:

$ la

Однако, используя эту опцию, вы не будете возможность передавать аргументы в ваш скрипт (выполняющий что-то похожее на la param1 param2), если вы не определите более сложный псевдоним (псевдоним, использующий функцию в .bashrc, но я думаю, что это выходит за рамки вопроса).

ВАЖНОЕ ПРИМЕЧАНИЕ: Не забудьте перезагрузить среду в своем терминале (source .bashrc) или закрыть и снова открыть терминал КАЖДЫЙ ВРЕМЯ вы вносите изменения в .bashrc файл. В противном случае вы не сможете увидеть какие-либо изменения.

1 голос
/ 21 февраля 2020

Если вы хотите, чтобы команда была доступна под двумя разными именами (la.sh и la в вашем случае), я рекомендую не использовать псевдоним: псевдоним, определенный в вашем .bashr c, доступен только в интерактивный bash; Если вы, например, запустили интерактивную оболочку, отличную от bash, или написали скрипт bash, вы не сможете его использовать.

Наиболее общий способ IMO - создать ссылку. Поскольку вы сказали, что уже поместили la.sh в корзину, вы можете создать ссылку в том же каталоге, т.е.

ln /bin/la /bin/la.sh # creates a hard link

или

ln -s /bin/la /bin/la.sh # creates a symbolic link

В вашем случае, либо один Это хорошо. Если вы хотите узнать больше о различиях между жесткой и символьной c ссылкой, посмотрите, например, здесь .

1 голос
/ 21 февраля 2020

Файл la. sh должен быть помещен в ваш путь . Затем вы можете создать псевдоним для него.

alias la="la.sh"
0 голосов
/ 21 февраля 2020

Он работал со смесью ответов каждого.

Все, что мне нужно было сделать, это go в каталог, в котором находился la.sh. Переименовать его в la как текстовый файл. Запустите chmod 777 la, чтобы превратить его в исполняемый файл для всех. Добавьте его в мой путь с помощью команды export PATH=$PATH:~/Directory/It/Was/In/

Спасибо всем, кто внес свой вклад.

...