我正在编写一个bash shell脚本。有一个必需的第一个参数,我希望有一个可选的第二个参数。
如果省略第二个参数,我希望它使用第一个参数的值。
目前我有:
SOMEVAR=${2:-Untitled}
如何使用basename $1
代替Untitled
?
答案 0 :(得分:8)
您可以执行SOMEVAR=${2:-$(basename "$1")}
之类的操作。您可以在可选部分中执行任何shell或变量。
答案 1 :(得分:3)
只需使用命令替换:$(basename $1)
,而不是Untitled
。
但是,bash还可以在没有外部过程的情况下执行此操作:${1##*/}
SOMEVAR=${2:-${1##*/}}