shell 中"${b-2}" and "${b:-2}"
时间:2011-02-23 来源:lxgeek
#!/bin/bash
# User can keyin filename to touch 3 new files.
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
export PATH
echo "I will use 'touch' command to create 3 files."
read -p "Please input the filename what you want: " fileuser
filename=${fileuser:+"filename"}
date1=`date --date='2 days ago' +%Y%m%d`
date2=`date --date='1 days ago' +%Y%m%d`
date3=`date +%Y%m%d`
file1="$filename""$date1"
file2="$filename""$date2"
file3="$filename""$date3"
touch $file1
touch $file2
touch $file3
中的 filename=${fileuser:+"filename"}对于:+不是很明白,然后查了下用法。
lx@ubuntu:~/bsh/scripts$ b="" lx@ubuntu:~/bsh/scripts$ c="Z" lx@ubuntu:~/bsh/scripts$ echo a=${a-1}, b=${b-2}, c=${c-3} a=1, b=, c=Z lx@ubuntu:~/bsh/scripts$ echo a=${a:-1}, b=${b:-2}, c=${c:-3} a=1, b=2, c=Z lx@ubuntu:~/bsh/scripts$
+----------------------------------------------------------------------+ |Form Meaning +----------------------------------------------------------------------+ |${variable:?word} Complain if undefined or null |${variable:-word} Use new value if undefined or null |${variable:+word} Opposite of the above |${variable:=word} Use new value if undefined or null, and redefine. +----------------------------------------------------------------------+
相关阅读 更多 +