LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 837|回复: 5

帮忙解释一下 谢谢

[复制链接]
发表于 2006-12-13 16:27:29 | 显示全部楼层 |阅读模式
#!/bin/bash
#program:
# user can keyin filename to touch 3 ne files.
#history:
#2006/12/04 huangfu first release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo -e "i will use 'touch' command to create 3 files ."
read -p " please input the filename what you want : " fileuser
filename=${fileuser:-"filename"}   #这一行啥意思啊 迷茫啊 哪位高人解释一下。
date1=`date -d "-2 day " +%Y%m%d`
date2=`date -d "-1 day " +%Y%m%d`
date3=`date +%Y%m%d`
file1="$filename""_""$date1"
file2="$filename""_""$date2"
file3="$filename""_""$date3"
touch $file1
touch $file2
touch $file3
发表于 2006-12-13 23:29:28 | 显示全部楼层
if fileuser not set or it is empty, use the value "filename". please see bash manual on parameter substitution and expansion.
回复 支持 反对

使用道具 举报

发表于 2006-12-13 23:39:11 | 显示全部楼层
对比一下

  1. [0 No.2007 huan@huan ~]$ unset filename fileuser

  2. [0 No.2008 huan@huan ~]$ filename=${fileuser:-"filename"}

  3. [0 No.2009 huan@huan ~]$ echo $filename
  4. filename

复制代码

  1. [0 No.2010 huan@huan ~]$ fileuser="hello world"

  2. [0 No.2011 huan@huan ~]$ filename=${fileuser:-"filename"}

  3. [0 No.2012 huan@huan ~]$ echo $filename
  4. hello world


复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-14 10:01:13 | 显示全部楼层
也就是说 为了防止用户随意的敲回车键,用变量的方式 让filename的值默认为filename
多谢 huan  yongjian 2为帅哥 谢谢。
回复 支持 反对

使用道具 举报

发表于 2006-12-14 13:48:21 | 显示全部楼层
是“:-”还是“:=”??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-15 09:50:09 | 显示全部楼层
是:-  我现在明白这条语句的意思,但是具体的用法不太明白。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表