当前位置:  技术问答>linux和unix

鸟哥私房菜上的一个问题,总是困扰了我,请求帮助

    来源: 互联网  发布时间:2017-01-28

    本文导语:  [root@www scripts]# vi sh03.sh  #!/bin/bash  # Program:  #  Program creates three files, which named by user's input   #  and date command.  # History:  # 2005/08/23  VBird  First release  PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sb...

[root@www scripts]# vi sh03.sh 
#!/bin/bash 
# Program: 
#  Program creates three files, which named by user's input  
#  and date command. 
# History: 
# 2005/08/23  VBird  First release 
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" 

我在命令行中 输入sh sh03.sh后,发现报错为
date:invalid date

从我的判断来看应该是标红的地方出现了问题,请问,我错在什么地方了哦?

|

vi sh03.sh  
#!/bin/bash  
# Program:  
# Program creates three files, which named by user's input   
# and date command.  
# History:  
# 2005/08/23 VBird First release  
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"  
 

我这样执行没有报错。。。
sh -x sh03.sh
查看下你的过程哪错了

|
写shell的时候要特别注意空格的使用  因为shell默认是用空格或者空白符做分隔的
所以命令之间必须用分隔符分开
空格很有必要

|
空格!

|
对于刚开始接触shell脚本的童鞋来说,空格总是一件令人头疼的事情。。。。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 看《私房菜》该怎么看?
  • linux服务器架设(鸟哥私房菜) 电子版在哪里可以下到啊??
  • linux 鸟哥私房菜上的一个小问题
  • 请问怎么上不了鸟哥的私房菜?
  • 刚看《鸟哥的私房菜》有两个小问题,怎样设置四个虚拟桌面壁纸
  • 谁可以提供一下《鸟哥的Linux私房菜_服务器架设篇(第二版).pdf》文件吗?谢谢
  • 鸟哥linux私房菜中有一处关于cp的没看懂
  • 鸟哥linux私房菜上有一处不明白
  • 鸟哥的linux私房菜里面说道mv这个命令加-f可以直接替换,这里有问题,描述如下
  • 在淘宝上买了一本鸟哥的Linux私房菜,问一下:从哪里下载Linux系统?
  • Linux下编程有哪本比较好的书可以推荐下呢。本人看过鸟哥的私房菜了,linux基本操作了解了,现在想开始学linux 下的编程 。我以后打算往网络这方面去学习


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3