Может ли рыба script указать, в какой папке она хранится?
Итак, мне очень нравится Рыба, но мне нужна помощь в написании сценариев. и, в частности, поиск пути выполнения script.
Вот решение для BASH
Получение исходного каталога Bash script изнутри
Может ли кто-нибудь помочь мне найти эквивалент с рыбой?
Ответы
Ответ 1
status --current-filename
выведет путь к выполняемому в данный момент script.
Для получения дополнительной информации о команде состояния вы можете запустить man status
или просмотреть документацию в http://fishshell.com/docs/current/commands.html#status
Ответ 2
В раковине рыбы,
set DIR (cd (dirname (status -f)); and pwd)
эквивалентно одному вкладышу BASH
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
упоминается в . Может ли скрипт Bash указать, в каком каталоге он хранится?.
ПРИМЕЧАНИЕ: раковина рыбы cd
войдет в этот каталог и останется там. Bash будет cd
, но он останется в подкоманде.
Ответ 3
Путь к файлу
Чтобы получить полный путь к script, используйте status --current-filename
или
set FILE (status --current-filename)
, чтобы объявить переменную.
Путь к каталогу
Чтобы получить полный путь к каталогу, в котором хранится script, используйте dirname (status --current-filename)
или set DIR (dirname (status --current-filename))
, чтобы объявить переменную.
Эквивалент этого вопроса:
set DIR (dirname (status --current-filename))
является эквивалентным