bash - filename=${1:-/etc/hosts} 和 filename=/etc/hosts 的区别

来源:互联网 发布:淘宝卖家登陆中心 编辑:程序博客网 时间:2024/05/16 17:43

举例如下:

filename=/etc/hostsif [ -r "$filename" ] && [ -s "$filename" ]; then    md5sum $filenameelse    echo "$filename cannot be processed"fi

filename=${1:-/etc/hosts}if [ -r "$filename" ] && [ -s "$filename" ]; then    md5sum $filenameelse    echo "$filename cannot be processed"fi

如果 $1 为空或不存在,则把 /etc/hosts 赋值给 filename 变量,更一般的解释如下:

${parameter:-value} 如果 parameter 不存在或为空则用 value 替代表达式的值,否则用 parameter 替代表达式的值


点击此处查看问题来源

详情请参考 Bash Manual

1 0
原创粉丝点击