bash中$ {1-1}是什么意思?

时间:2013-12-30 09:20:05

标签: bash osascript

我正在阅读here中的脚本并试图了解正在发生的事情。此函数执行更改Finder窗口的目录:

function ee { 
 osascript -e 'set cwd to do shell script "pwd"'\
 -e 'tell application "Finder"'\
 -e "if (${1-1} <= (count Finder windows)) then"\
 -e "set the target of window ${1-1} to (POSIX file cwd) as string"\
 -e 'else' -e "open (POSIX file cwd) as string"\
 -e 'end if' -e 'end tell';\
};\

我假设$由bash解释,因为它在双引号内。我还没有找到{1-1}的意思。我在单独的测试脚本中使用了表达式但是找不到与普通$1的区别。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

这意味着如果未设置参数1(${1}),请将值设置为1.

请参阅parameter substituiton here

 ${parameter-default}, ${parameter:-default}
   If parameter not set, use default.