Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图理解一个 bash脚本,它的前四行是:
#!/bin/sh SCRIPT="`basename $0 | sed 's/\..*$//'`" CONFIG=${1:-$HOME/.$SCRIPT} DIR=${2:-$HOME/Documents}
我知道最后两行正在对作为脚本参数 1 和 2 的路径输入进行参数替换,但我一直无法弄清楚这是如何工作的(例如这里)。“:-”部分是什么意思?对不起新手问题。
来自man bash:
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 中搜索会变得很无聊,因为它很大,但在这里它是第一个命中。
:-