filename=${fileuser:-"filename"} 请问这句话是什么意思?

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# 1. 让使用者输入档案名称,并取得 fileuser 这个变数;
echo -e "I will use 'touch' command to create 3 files." # 纯粹显示资讯
read -p "Please input your filename: " fileuser # 提示使用者输入

# 2. 为了避免使用者随意按 Enter ,利用变数功能分析档名是否有设定?
filename=${fileuser:-"filename"} # 开始判断有否设定档名

# 3. 开始利用 date 指令来取得所需要的档名了;
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}

# 4. 将档名建立吧!
touch "$file1" # 底下三行在建立档案
touch "$file2"
touch "$file3"

filename=${fileuser:-"filename"}
等号右边的意思是,
若变量 fileuser 为空(此前没有得到赋值),则返回 "filename"。
若变量 fileuser 有值,则返回其当前值。

这是bash中的特有用法,为了确保变量filename无论如何都能得到赋值。
温馨提示:内容为网友见解,仅供参考
无其他回答

filename=${fileuser:-"filename"} 请问这句话是什么意思?
等号右边的意思是,若变量 fileuser 为空(此前没有得到赋值),则返回 "filename"。若变量 fileuser 有值,则返回其当前值。这是bash中的特有用法,为了确保变量filename无论如何都能得到赋值。

filename=${fileuser:-"filename"}使用方法
filename=${fileuser-"filename"} fileuser 变量未设定,filename取"-"后面的值;否则如果变量fileuser为空或者有值filename=$fileuser

filename=${fileuser:-"filename"}使用方法
filename=${fileuser-"filename"} fileuser 变量未设定,filename取"-"后面的值;否则如果变量fileuser为空或者有值filename=$fileuser

filename=${fileuser:-"filename"}使用方法
filename=${fileuser-"filename"} fileuser 变量未设定,filename取"-"后面的值;否则如果变量fileuser为空或者有值filename=$fileuser

相似回答