zoukankan      html  css  js  c++  java
  • Linux脚本设计4——一些实用程序

    实用程序1:列目录

    #!/bin/bash
    path=`echo $PATH | sed 's/:/ /g'`
    for d in $path
    do
            echo $d
    done

      这是一个for循环,注意path获取的变量结果是用符号``,这个是~下面的,不是单引号。

    备注:命令替换符号的用法

      命令替换.`command` 结构使字符(`)[译者注:这个字符不是单引号,而是在标准美国键盘上的ESC键下面,在字符1左边,在TAB键上面的那个键,要特别留心]引住的命令(command)执行结果能赋值给一个变量。它也被称为后引号(backquotes)或是斜引号(backticks). 例子: A=`ls -l` 把ls -l的结果赋给A ls -l 作为命令来执行

      shell脚本中,` 和 $() 的作用类似。比如:rm `find /foo/bar -ctime +3d -type f` 表示将 find 的输出结果作为rm的命令行输入。常写 shll脚本的人可能会用另一个写法:

    rm $(find /foo/bar -ctime +3d -type f) 这个写法和第一种是等价的。不过,$()的好处是可以嵌套。

    个人比较倾向于使用 ` 而不是 $(),主要有三个原因:

    1. () 和 {} 在显示时差别很小,容易引起误会;
    2. 复杂到需要嵌套的命令通常是不对的;
    3. ` 可以在 shell 和 [t]csh 中使用,而 $() 只能在 shell 中使用。

    【注1】FreeBSD系统中,此处实际可以用 find /foo/bar -ctime +3d -type f -delete 来代替。

  • 相关阅读:
    移动端高清、多屏适配方案
    Cookie存中文乱码的问题
    手机网站-前端开发布局技巧汇总
    深入理解javascript中的立即执行函数(function(){…})()
    test
    [PAT] A1013 Battle Over Cities (25分)
    PAT索引
    [PAT] A1012 The Best Rank
    [PAT] A1091 Acute Stroke
    [PAT] A1067 Sort with Swap(0, i)
  • 原文地址:https://www.cnblogs.com/people/p/3142975.html
Copyright © 2011-2022 走看看