/ / Як перетворити цю функцію zsh на рибний корпус? - зш, риба

Як перетворити цю функцію zsh на рибку оболонки? - ЗШ, риба

У мене є ця функція, яка прекрасно працює в zsh, але я хочу перетворити її на рибну оболонку, і я не можу її працювати.

function ogf () {
echo "Cloning, your editor will open when clone has completed..."
source <(TARGET_DIRECTORY=~/students EDITOR=$EDITOR clone_git_file -ts "$1")
}

Відповіді:

2 для відповіді № 1

Перш за все, оскільки синтаксис риби відрізняється від zsh, ви також повинні змінити вихід clone_git_file до source це

Наприклад, якщо clone_git_file це щось на зразок:

#!/bin/bash
echo "FOO=$TARGET_DIRECTORY"
echo "BAR=$2"

Ви повинні змінити його на синтаксис риби.

#!/bin/bash
echo "set -gx FOO $TARGET_DIRECTORY"
echo "set -gx BAR $2"

Тепер ось тут ogf() функція і зразок коду для риби:

function ogf
echo "Cloning, your editor will open when clone has completed..."
source (env TARGET_DIRECTORY=~/students EDITOR=$EDITOR clone_git_file -ts $argv[1] | psub)
end

ogf MY_ARGUMENT
echo "FOO is $FOO"
echo "BAR is $BAR"

Виконавши цей код з рибою, вихід:

FOO is /home/MY_USER/students
BAR is MY_ARGUMENT