我正在尝试编写一个创建别名'cd =“cd dir_name”'的内衬,它会将目录更改为该dir_name
pwd | xargs -i alias cd{}='cd $PWD'
但我明白了:
xargs: alias: No such file or directory
是不能用xargs播放别名,还是我没有正确使用xargs?
答案 0 :(得分:2)
alias
是内置的shell。 xargs
需要外部命令才能运行。通常,您可以在xargs
中运行新shell来解释内置函数或关键字:
pwd | xargs -i bash -c 'alias cd{}="cd $PWD"'
但在这种情况下它没用,因为别名只存在于从xargs
运行的shell中,而不是在当前的shell中。
此外,别名不能命名为/home/user
。也许你的意思是
... alias cd='cd {}'
使用pushd
和popd
记住当前目录并稍后返回。