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 № 1Prima 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