1

我试图理解一个 bash脚本,它的前四行是:

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

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

4

1 回答 1

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 中搜索会变得很无聊,因为它很大,但在这里它是第一个命中。

于 2012-04-23T19:55:57.947 回答