/ / ¿Cómo convierto esta función zsh a caparazón de pescado? - zsh, pescado

¿Cómo convierto esta función de zsh a caparazón de pescado? - zsh, pescado

Tengo esta función que funciona muy bien en zsh, pero quiero convertirla en caparazón de pescado y no puedo hacer que funcione.

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

Respuestas

2 para la respuesta № 1

En primer lugar, dado que la sintaxis de fish difiere de zsh, también debe cambiar la salida de clone_git_file a source eso.

Por ejemplo, si clone_git_file es algo así como:

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

tienes que cambiarlo a sintaxis de pez.

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

Ahora aquí está el ogf() función y código de muestra para el pescado:

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"

Al ejecutar este código con fish, la salida es:

FOO is /home/MY_USER/students
BAR is MY_ARGUMENT