Operator
Substitution
${varname:-word}
If varname exists and isn't null, return its value; otherwise return word.
Purpose: Returning a default value if the variable is undefined.
Example: ${count:-0} evaluates to 0 if count is undefined.
${varname:=word}
If varname exists and isn't null, return its value; otherwise set it to word and then return its value. Positional and special parameters cannot be assigned this way.
Purpose: Setting a variable to a default value if it is undefined.
Example: ${count:=0} sets count to 0 if it is undefined.
${varname:?message}
If varname exists and isn't null, return its value; otherwise print varname: followed by message, and abort the current command or script. (non-interactive shells only). Omitting message produces the default message parameter null or not set.
Purpose: Catching errors that result from variables being undefined.
Example: {count:?"undefined!"} prints "count: undefined!" and exits if count is undefined.
${varname:+word}
If varname exists and isn't null, return word; otherwise return null.
Purpose: Testing for the existence of a variable.
Example: ${count:+1} returns 1 (which could mean "true") if count is defined.
${varname:offset:length}
Performs substring expansion.[5] It returns the substring of $varname starting at offset and up to length characters. The first character in $varname is position 0. If length is omitted, the substring starts at offset and continues to the end of $varname. If offset is less than 0 then the position is taken from the end of $varname. If varname is @, the length is the number of positional parameters starting at parameter offset.
Purpose: Returning parts of a string (substrings or slices).
Example: If count is set to frogfootman, ${count:4} returns footman. ${count:4:4} returns foot
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7618884/viewspace-628903/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7618884/viewspace-628903/