/ / Jak mogę przekonwertować tę funkcję zsh na shell? - Zsh, ryby

Jak mogę przekonwertować tę funkcję zsh na shell? - Zsh, ryby

Mam tę funkcję, która działa świetnie w Zsh, ale chcę ją przekonwertować na skorupę ryby i nie mogę jej uruchomić.

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

Odpowiedzi:

2 dla odpowiedzi № 1

Po pierwsze, skoro składnia ryby różni się od zsh, trzeba również zmienić wyjście clone_git_file do source to.

Na przykład, jeśli clone_git_file jest coś takiego:

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

musisz zmienić ją na składnię ryb.

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

Teraz tutaj jest ogf() funkcja i przykładowy kod dla ryb:

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"

Uruchamiając ten kod dla ryb, dane wyjściowe są następujące:

FOO is /home/MY_USER/students
BAR is MY_ARGUMENT