, Вы хотите что-то вроде этого:
echo -e "foo\ntouchit\nbar\nbaz" | while read line; do case $line in
touchit) touch test.txt;;
bar) echo bar found;;
esac; done
В конце концов я остановился на $HOME/opt/myfooapp
. Причины следующие:
Я думаю, что обычно это связано с соглашением о сайтах.Для длительных установок я не хочу полагаться на дерево $ HOME и более склонен использовать / opt, даже если это означает настройку / opt // с соответствующими разрешениями и, возможно, соответствующими каталогами для использования в качестве стандартного места для данных и т. Д. это согласуется с некоторой разумной интерпретацией того, на что вы можете указать, например https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Для меня наибольшее влияние на использование вами структуры помимо попытки не действовать напрямую против соглашения об использовании сервера. Собираетесь ли вы заменить образ сервера на другую среду или программное обеспечение / данные? Используете ли вы общие файловые системы или требуете определенных разделов для оптимизации программного обеспечения? Вы хотите включить эти каталоги в резервную копию и т. Д.? Вы хотите поделиться разрешениями на выполнение или данными с другими учетными записями пользователей? Вы также можете подумать о настройке определенных переменных среды в ваших учетных записях общего профиля оболочки, чтобы расширить пути по умолчанию и часто используемые флаги сборки.
Надеюсь, это дает пищу для размышлений. Конечно, если он находится на локальной машине, то делайте то, что кажется правильным, но не исключайте использование / opt, так как это заброшенное дерево каталогов; ^)
Я устанавливаю локально скомпилированные пакеты с - prefix = $ HOME
. Меньше беспорядка PATH
(и прочего, например MANPATH
или даже расположение информационного файла), и прилично написанные пакеты в любом случае не наступят на них.