Добавление каталога в PATH для запуска скриптов из подкаталога

Вместо того, чтобы возвращаться к последнему ядру z -stream 7.4, я пересобрал последние доступные пакеты (0.7.8 )с патчем от разработчиков ZoL, который устраняет проблему. Я загрузил все свои обороты сюда :https://step.polymtl.ca/~coyote/dist/zfs/0.7.8-1.2

1
22.09.2019, 16:11
1 ответ

Так PATHне работает. Если я добавлю родительский каталог, я не могу просто вызвать дочерний:

$ cat ~/foo/bin/bar.sh 
#!/bin/sh 
echo yeh!

Теперь, если я добавлю ~/fooк моему PATH, я не смогу вызвать скрипт с помощьюbin/bar.sh:

$ PATH="~/foo:$PATH"
$ bin/bar.sh
bash: bin/bar.sh: No such file or directory

Я могу сделать это, только если я уже в~/foo:

$ cd ~/foo/
$ bin/bar.sh
yeh!

Правильный способ сделать файлы в каталоге доступными — добавить сам каталог в PATH, а не только родительские каталоги:

PATH="~/foo/bin:$PATH"

Теперь я могу звонить bar.shоткуда угодно:

$ cd /
$ bar.sh
yeh!

Другими словами, он также не работает на вашем компьютере. Вы просто должны запустить utils/my_script.shиз /opt/tools. Попробуйте cd /, а затем utils/my_script.sh, и вы увидите, что это тоже не работает.

1
27.01.2020, 23:40

Теги

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