Извлеките путь к текущему исходному файлу с помощью fish

StackOverflow https://stackoverflow.com/questions/2037447

  •  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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top