![filename=${1:-/etc/hosts} 和 filename=/etc/hosts 有什么区别?](https://linux22.com/image/39000/filename%3D%24%7B1%3A-%2Fetc%2Fhosts%7D%20%E5%92%8C%20filename%3D%2Fetc%2Fhosts%20%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F%20.png)
filename=${1:-/etc/hosts}
和 和有什么区别filename=/etc/hosts
?
例如:
filename=/etc/hosts
if [ -r "$filename" ] && [ -s "$filename" ]; then
md5sum $filename
else
echo "$filename cannot be processed"
fi
和
filename=${1:-/etc/hosts}
if [ -r "$filename" ] && [ -s "$filename" ]; then
md5sum $filename
else
echo "$filename cannot be processed"
fi
答案1
filename=${1:-/etc/hosts}
如果未设置或为 null,/etc/hosts
则为变量赋值。filename
$1
${parameter:-word}
如果
parameter
未设置或为空,则替换单词的扩展。否则,parameter
将替换的值。