在看 学习shell中练习的代码
#
!
/
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
# 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. +----------------------------------------------------------------------+