Невозможно добавить /usr/local/ *программы в путь

[— это команда, так что проблема в том, как вы пытаетесь использовать несколько условий. Вы хотите это:

if [ "$#" -eq 1 ] && [ -f "$1" ]; then
0
26.11.2021, 13:08
1 ответ

what's so special about the /usr/local folder.

В этом нет ничего особенного -это зависит от того, как установлена ​​ваша PATHпеременная. И это зависит от настроек по умолчанию для вашей системы, которые, если их никто не модифицировал, зависят от настроек по умолчанию вашего дистрибутива. Так что

echo $PATH

и посмотрите, что в нем содержится. Если вы хотите настроить его так, чтобы он включал /usr/local/android-studio/bin/, найдите файл запуска для вашей оболочки (, например. ~/.profileдля большинства оболочек ), и взгляните на него. Если он уже устанавливает путь, измените его, в противном случае добавьте что-то вроде

PATH=$PATH:/usr/local/android-studio/bin/
export PATH

Кстати, рекомендуемый способ для /usr/local— зеркально отразить «главную» иерархию, то есть /usr/local/bin, /usr/local/libи т. д. Так что, скорее всего, у вас уже есть/usr/local/binна вашем пути (только не /usr/local/android-studio/bin.

А если надо что-то положить в свой подкаталог (как в /usr/local/android-studio/), то симлинки делаешь из /usr/local/binи везде где нужно:

ln -s /usr/local/android-studio/bin/studio.sh /usr/local/bin/studio.sh

Также посмотрите man stow, как это автоматизировать.

0
26.11.2021, 13:44

Теги

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