当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请问大侠,这个SHELL的${}里面的-"filename"是啥意思啊?
帖子发表于 : 2011-01-12 16:26 

注册: 2010-11-27 22:20
帖子: 76
送出感谢: 0 次
接收感谢: 0 次
# 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"就不知道什么意思了,那个-什么意思?那个:什么意思?我知道-可以表示standin,:可以表示间隔

谢谢


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请问大侠,这个SHELL的${}里面的-"filename"是啥意思啊?
帖子发表于 : 2011-01-12 22:01 

注册: 2011-01-12 21:42
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
:em03

鸟哥私房菜里有的讲吧,好像是的。

就是说

变量 = ${参数:-"filename"} 如果参数有值,则后面不起作用,否则变量值等于filename这个字符串. 偶刚学shell script.. 共进步!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请问大侠,这个SHELL的${}里面的-"filename"是啥意思啊?
帖子发表于 : 2011-01-12 22:47 

注册: 2010-11-27 22:20
帖子: 76
送出感谢: 0 次
接收感谢: 0 次
哎呀,多谢提醒,看着看着都把前面的忘记了,确实鸟哥在bash shell那章就说了,非常感谢。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译