bash shell脚本条件赋值

时间:2011-07-19 09:48:18

标签: bash unix shell

我正在编写一个bash shell脚本。有一个必需的第一个参数,我希望有一个可选的第二个参数。

如果省略第二个参数,我希望它使用第一个参数的值。

目前我有:

SOMEVAR=${2:-Untitled}

如何使用basename $1代替Untitled

2 个答案:

答案 0 :(得分:8)

您可以执行SOMEVAR=${2:-$(basename "$1")}之类的操作。您可以在可选部分中执行任何shell或变量。

答案 1 :(得分:3)

只需使用命令替换:$(basename $1),而不是Untitled

但是,bash还可以在没有外部过程的情况下执行此操作:${1##*/}

SOMEVAR=${2:-${1##*/}}