【问题标题】:Inputs to alias vs. functions in shell script [duplicate]shell脚本中别名与函数的输入[重复]
【发布时间】:2016-06-16 08:38:52
【问题描述】:

为什么别名不起作用,但函数在我的 .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

【问题讨论】:

    标签: shell


    【解决方案1】:

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

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

    函数,就像你做的那样,是要走的路

    【讨论】:

      猜你喜欢
      • 2021-08-22
      • 2020-12-13
      • 2021-02-12
      • 2016-03-12
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多