分页: 1 / 1

怎样自定义带参数的终端命令?

发表于 : 2011-08-14 17:54
jiyinyiyong
我需要是这样, cd命令一般接在后面都是ls的, 所以我想自己重新定义。
比如"g filename"出来相当于"cd filename && ls".
我参考这个帖子定义的"alias g='cd $1 && l'"不支持通配符, 反正也不是正确的办法..
viewtopic.php?f=21&t=148071
后面提到函数之类, 我听着不清楚..总之, 我需要上面说的这样个命令, 我该怎么做?

Re: 怎样自定义带参数的终端命令?

发表于 : 2011-08-14 18:04
我就是我2
其实,函数就是一些命令合起来
比如我定义一个函数foo(随便起的名字)

代码: 全选

foo(){
cd $1
ls
}
$1是位置变量。
使用这个函数要这样用

代码: 全选

foo dirname
如foo ~ 就是表示 转到家目录并显示ls家目录
然后dirname就作为参数传递给变量$1
定义函数,可以写在shell的配置文件中。以bash为例,
添加上面的代码到~/.bashrc 最后

希望你能明白。

Re: 怎样自定义带参数的终端命令?

发表于 : 2011-08-14 18:05
eexpress
alias更简单。

Re: 怎样自定义带参数的终端命令?

发表于 : 2011-08-14 19:14
jiyinyiyong
@我就是我2: 原来bash执行函数这么直接的, 定义有后使用正常了

@eexpress: alias我搞不定参数呃