看下面的示例代碼
#!/bin/bash
echo -e "use 'touch' command to create 3 files."
read -p "input your filename: " 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"}
這行。
當運行這個腳本,提示輸入文件名的時候,我們輸入hello
,這時候就會在文件夾下生成hello20200530,hello20200531,hello20200601
三個文件。
如果我們什麼都不輸入,直接按enter
,就會生成filename20200530,filename20200531,filename20200601
三個文件。
所以這行的作用類似帶默認形參的賦值函數。