无法理解脚本中的参数替换

时间:2012-04-23 19:46:36

标签: bash

我正在尝试了解bash script,其前四行是:

#!/bin/sh
SCRIPT="`basename $0 | sed 's/\..*$//'`"
CONFIG=${1:-$HOME/.$SCRIPT}
DIR=${2:-$HOME/Documents}

据我所知,最后两行是在路径输入上作为脚本参数1和2进行参数替换,但我一直无法弄清楚它是如何工作的(例如here)。 “: - ”部分是什么意思?对不起新手问题。

1 个答案:

答案 0 :(得分:2)

来自man bash

   ${parameter:-word}
          Use Default Values.  If parameter is unset or null, the expansion of word is substituted.  Other‐
          wise, the value of parameter is substituted.

很容易找到man bash,然后 / :-。斜杠引入了搜索,:-只是要搜索的内容。否则,在bash中搜索会变得非常无聊,因为它很大,但这是第一次点击。