Преобразование скрипта bash в рыбу

Я пытаюсь добавить следующие скрипты bash, чтобы ловить рыбу, но у меня проблемы с получением синтаксиса в рыбе. Вот оригинальный сценарий:

export MINION_INSTALL=$HOME/minion export NOTES_HOME=$HOME/Notes export INBOX=$NOTES_HOME/inbox if [ -d "$MINION_INSTALL" ] ; then export PATH="$MINION_INSTALL:$PATH" fi source $MINION_INSTALL/aliases_for_minion 

И это файл aliases_for_minion :

 alias mn="minion" alias icannotfind="minion --open --archive --full $@" alias newnote="minion --new-note $@" alias open="minion --open $@" alias remind="minion --new-note --quick $@" alias summary="minion --count inbox; minion --list --show-tags=False today; \ minion --count next; minion --count soon; minion --count someday" 

Команда minion работает нормально, если я запускаю рыбу после запуска bash.

Любая помощь будет принята с благодарностью!

Вот несколько примеров того, как это будет выглядеть у рыб:

 set -x INBOX $NOTES_HOME/inbox if [ -d "$MINION_INSTALL" ] set -x PATH $MINION_INSTALL $PATH end 

Обратите внимание на отсутствие кавычек, что особенно важно в строке, которая устанавливает PATH. При цитировании это приведет к краху всех путей в списке к одной записи, которая не является тем, что вы хотите.

Алиасы действительны для рыб, за исключением $ @ в конце. у рыбы есть аргументы как $argv , а не $@ , но что более важно, любые аргументы неявно добавляются к команде alias. Поэтому вы можете просто написать:

 alias newnote="minion --new-note" 

Тогда, например, newnote foo bar станет minion --new-note foo bar

Если вам нравится, вы можете проверить его с помощью functions newnote , которые покажут вам функцию, создаваемую псевдонимом.

Надеюсь, это поможет!