/ / using xargs na odovzdávanie príkazu premennej na alias - linux, bash, alias, xargs

pomocou xargov prešiel príkaz premennej na alias - linux, bash, alias, xargs

Snažím sa napísať jednu linku, ktorá vytvorí alias "cd =" cd dir_name "", ktorý zmení adresár na dir_name

pwd | xargs -i alias cd{}="cd $PWD"

ale mám:

xargs: alias: No such file or directory

je to, že alias nie je možné hrať s xargs, alebo nepoužívam správne xargs?

odpovede:

2 pre odpoveď č. 1

alias je shell vstavaný. xargs potrebuje spustiť externý príkaz. Za normálnych okolností môžete spustiť nový shell xargs interpretovať zabudované alebo kľúčové slová:

pwd | xargs -i bash -c "alias cd{}="cd $PWD""

ale v tomto prípade je to zbytočné, pretože alias by žil iba v shelle, z ktorého bežíte xargs, nie v súčasnej.

Navyše alias nemôže byť pomenovaný /home/user, Možno ste to mysleli

... alias cd="cd {}"

použitie pushd a popd zapamätať si aktuálny adresár a vrátiť sa k nemu neskôr.