Извлеките путь к текущему исходному файлу с помощью fish
-
19-09-2019 - |
Вопрос
В скрипте fish shell возможно ли получить путь, по которому находится скрипт оболочки?В bash вы можете использовать для этого переменную BASH_SOURCE .
Решение
Один из способов - использовать Статус команда.
например.
~/tmp> echo status -f > show_filename.fish
~/tmp> fish show_filename.fish
/home/foo/tmp/show_filename.fish
--
Ах, извините - судя по вашему комментарию, я неправильно истолковал вопрос.Я думал, вы имели в виду полный путь, а не каталог скрипта.
Вы могли бы просто отправить результат состояния в dirname.Это не встроенная функция fish, как status, но fish в любом случае стремится передать на аутсорсинг как можно больше этой функциональности (см. "Закон минимализма" в fish дизайн документа).Я не вижу в документах для этого никаких лучших команд, так что, может быть, это все, что мы можем получить на данный момент?
Внося изменения в пример, измените содержимое show_filename.рыба должна быть:
dirname (status -f)
Теперь вы должны получить:
~/tmp> fish show_filename.fish
/home/foo/tmp