shell脚本中别名与函数的输入

时间:2016-06-16 08:38:53

标签: shell

为什么别名不起作用,但该功能在我的.bash_profile中有效吗?

.bash_profile内的代码(下)

alias pxsz='sips -g pixelWidth $1 && sips -g pixelHeight $1'

pxlsz () {
    sips -g pixelWidth $1 && sips -g pixelHeight $1
}

当我用

测试别名时
alias pxsz="echo '$1 1' && echo '$1 2' "

给出

 $pxsz tag_struct.jpg
1
2 tag_struct.jpg

1 个答案:

答案 0 :(得分:0)

你不能在这样的别名中使用变量。在这里,您只需调用必须事先在shell中定义的$1,它是上一个命令的前一个参数:

$ set TEST
$ echo $1
TEST
$ alias pxsz="echo '$1 1' && echo '$1 2' "
$  pxsz
TEST 1
TEST 2

该功能与您一样,是可行的方式