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ď č. 1alias
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.