/ / Come posso convertire questa funzione zsh in fish shell? - zsh, pesce

Come posso convertire questa funzione zsh in fish shell? - zsh, pesce

Ho questa funzione che funziona benissimo in zsh, ma voglio convertirlo in fish shell e non riesco a farlo funzionare.

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

risposte:

2 per risposta № 1

Prima di tutto, poiché la sintassi di fish differisce da zsh, devi anche cambiare l'output di clone_git_file a source esso.

Ad esempio, se clone_git_file è qualcosa come:

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

devi cambiarlo per pescare la sintassi.

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

Ora qui è il ogf() funzione e codice di esempio per il pesce:

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"

Eseguendo questo codice con fish, l'output è:

FOO is /home/MY_USER/students
BAR is MY_ARGUMENT