Sto cercando di scrivere un liner che crea un alias "cd =" cd dir_name "" che cambierà la directory in quel nome_dir
pwd | xargs -i alias cd{}="cd $PWD"
ma ottengo:
xargs: alias: No such file or directory
è che l'alias non può essere giocato con xargs o non sto usando xargs correttamente?
risposte:
2 per risposta № 1alias
è una shell integrata. xargs
ha bisogno di un comando esterno per l'esecuzione. Normalmente, puoi lanciare una nuova shell xargs
per interpretare i builtin o le parole chiave:
pwd | xargs -i bash -c "alias cd{}="cd $PWD""
ma è inutile in questo caso, poiché l'alias vivrebbe solo nel guscio da cui fuggi xargs
, non in quello attuale.
Inoltre, l'alias non può essere nominato /home/user
. Forse intendevi
... alias cd="cd {}"
Uso pushd
e popd
per ricordare la directory corrente e tornare più tardi.