1

Я пытаюсь создать сценарий оболочки, который я могу запустить из любого места в терминале,

скрипт просто повторяет сообщение

#!/bin/bash
echo "Excellent work Snake!"

Я изменил разрешения скриптов с

chmod 775 test.sh

скрипт находится в моих документах, я сделал символическую ссылку на /usr /bin с

ln -s ./test.sh /usr/bin

например, когда я запускаю скрипт из дома, вместо эхо-сообщения ничего не происходит, например

babbleshack@babbleshack ~ $ test
babbleshack@babbleshack ~ $ 

я что-то не понимаю?

1 ответ1

4

test является встроенным bash - вызывается без аргументов, как в вашем примере, он ничего не делает 1.

Ваш сценарий оболочки называется не test а test.sh , поэтому для его запуска необходимо набрать:

$ test.sh

Однако это не единственная проблема. Ваша команда ln -s ./test.sh /usr/bin работает не совсем так, как вы думаете - ./test.sh - это относительный путь, а ссылки на относительные пути относятся к расположению ссылки, а не к где вы были, когда вы набрали команду.

Вы на самом деле хотите что-то вроде:

$ ln -s /home/babbleshack/test.sh /usr/bin

... в этот момент все должно работать.


1 Технически, он безуспешно ничего не делает (другими словами, он возвращает ненулевой код ошибки). Если это ничего не значит для вас, не волнуйтесь - это не важно для целей этого ответа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .