zoukankan      html  css  js  c++  java
  • Linux Shell编程学习笔记

    打算在学习过程中将每个写过的程序一个个的往上贴;

    2015-07-03

    1. 鸟叔第三版13.2.1节“利用日期进行文件的创建”

    源代码

    #!/bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    read -p "Please input your filename:" fileuser
    filename=${fileuser:-"file"}

    date1=$(date --date='2 days ago' +%Y%m%d)
    date2=$(date --date='1 day ago' +%Y%m%d)
    date3=$(date +%Y%m%d)
    file1=${filename}${date1}
    file2=${filename}${date2}
    file3=${filename}${date3}
    echo ${file1}
    exit 0

    ============================================================================================

    1.

    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH

    这两行用来为PATH增添一些路径。当输入一个命令或者文件地址时,如果输入的不是绝对地址,那么系统首先在PATH中记录的各路径中寻找;因此,这样做可以减少下面代码的复杂性(只需要写相对地址);另外,export PATH这条命令只是将原本PATH中不存在的路径添加进去,不会覆盖。

    2.

    filename=${fileuser:-"file"}

    其中,fileuser是上一行代码中由用户输入的。这条语句的目的是防止用户直接输入ENTER。解释:

    filename=${fileuser:-"file"}表示如果fileuser空,将file赋给filename,否则将fileuser赋给filename

    filename=${fileuser-"file"}表示如果fileuser不为空,将file赋给filename,否则将fileuser赋给filename

    3.

    date1=$(date --date='2 days ago' +%Y%m%d)

    这句话的意思是将两天前的日期赋给date1;其中,'2 days ago'是一个参数。

    即:date –date=’1 hours ago’ “+%Y-%m-%d %H:%M:%S”表示一个小时前的时间;

  • 相关阅读:
    JAVA中字符串比较equals()和equalsIgnoreCase()的区别
    idea无法调试的解决方案.
    idea如何把快捷键改成eclipse的快捷键
    idea安装和破解教程
    在idea中maven项目 jar包下载不完整解决办法
    Spring boot入门级项目(超详细简易版)
    123123
    ww
    无限极操作
    无限极菜单1
  • 原文地址:https://www.cnblogs.com/kingatnuaa/p/4619151.html
Copyright © 2011-2022 走看看