Alias with variable in bash
本问题已经有最佳答案,请猛点这里访问。
我想在
1 | alias tail_ls="ls -l $1 | tail" |
因此,如果有人输入:
1 | tail_ls /etc/ |
它只会显示目录中的最后10个文件。
但
我为它创建了一个函数,而不是别名,然后导出它,如下所示:
1 2 3 | function tail_ls { ls -l"$1" | tail; } export -f tail_ls |
注意
@ maxim-sloyko的解决方案不起作用,但如果如下:
在?/ .bashrc中添加:
1 | sendpic () { scp"$@" mina@foo.bar.ca:/www/misc/Pictures/; } |
保存文件并重新加载
1 | $ source ~/.bashrc |
并执行:
1 | $ sendpic filename.jpg |
原始资料来源:http://www.linuxhowtos.org/Tips%20and%20Tricks/command_aliases.htm
1 | alias tail_ls='_tail_ls() { ls -l"$1" | tail ;}; _tail_ls' |
您可以使用
1 2 3 | $ alias tail_ls='ls -l"$1" | tail' $ set mydir $ tail_ls |
如果您使用Fish shell(来自http://fishshell.com)而不是bash,他们会以不同的方式编写函数。
您需要在
1 2 3 | function tail_ls ls -l $1 | tail end |