Come spiegato da ridicolo_fish È possibile utilizzare il meccanismo nativo di scissione della linea.
Il risultato di una sostituzione del comando diventa un elenco dividendo su nuove linee (
$IFS
)
Così
- Elenca un elemento per riga;
- Quindi catturalo in una sostituzione del comando.
Elenco
function __list_public_keys
for key in ~/.ssh/*.pub
echo $key
end
end
produzione$ __list_public_keys
/home/ed8/.ssh/id_rsa.blabla.pub
/home/ed8/.ssh/id_rsa.pub
/home/ed8/.ssh/id_rsa.test.pub
Cattura
function __add_keys
set keys (__list_public_keys)
echo "[" $keys "]"
end
produzione$ __add_keys
[/home/ed8/.ssh/id_rsa.blabla.pub] [/home/ed8/.ssh/id_rsa.pub] [/home/ed8/.ssh/id_rsa.test.pub]