在终端中创建别名时如何访问命令行参数变量?

时间:2013-09-29 20:04:23

标签: macos terminal bash

我正在制作一些别名来加速我的开发过程。

现在我正试图制作cdls,这显然是cd {arbitrary-file} && ls {arbitrary-file}

我认为alias cdls='cd $@ && ls $@会起作用,但看起来我错误地认为$@带有参数(文件路径),因为每次都会将我发送回$ HOME目录。

2 个答案:

答案 0 :(得分:3)

别名不处理参数。改为使用函数:

cdls () {
    cd "$1"
    ls
}

答案 1 :(得分:1)

尝试使用.bash_profile

function cdls () { ls "$@" && eval cd "\"\$$#\"";}

我不记得我从哪里得到它但我有类似的工作。