Linux-Shell

  • 变量

    variable=value   // 赋值号=的周围不能有空格
    
    echo $variable   // 输出变量
    
    skill="Java"
    echo "I am good at ${skill}Script" // 加花括号是为了帮助解释器识别变量的边界
    
    variable=$(command) // 将命令的结果赋值给变量
    
    unset variable_name // 删除变量

     

  • 特殊变量

    变量含义
    $0当前脚本的文件名。

    $n

    (n >= 1)

    传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。
    $#传递给脚本或函数的参数个数。
    $*传递给脚本或函数的所有参数。
    $@传递给脚本或函数的所有参数。当被双引号" "包含时,$@ 与 $* 稍有不同
    $?上个命令的退出状态,或函数的返回值
    $$当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。

     

 

 

 

 

 

 

 

 

 

       当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。但是当它们被双引号" "包含时,就会有区别了:

  1. "$*"会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。
  2. "$@"仍然将每个参数都看作一份数据,彼此之间是独立的。
  •  Shell重定向

    # 在输出重定向中,>代表的是覆盖,>>代表的是追加。
    
    command >file	           #以覆盖的方式,把 command 的正确输出结果输出到 file 文件中。
    command >>file             #以追加的方式,把 command 的正确输出结果输出到 file 文件中。
    command 2>file	           #以覆盖的方式,把 command 的错误信息输出到 file 文件中。
    command 2>>file            #以追加的方式,把 command 的错误信息输出到 file 文件中。
    command >file 2>&1	       #以覆盖的方式,把正确输出和错误信息同时保存到同一个文件(file)中。
    command >>file 2>&1	       #以追加的方式,把正确输出和错误信息同时保存到同一个文件(file)中。
    command >file1 2>file2	   #以覆盖的方式,把正确的输出结果输出到 file1 文件中,把错误信息输出到 
                                file2 文件中。
    command >>file1  2>>file2  #以追加的方式,把正确的输出结果输出到 file1 文件中,把错误信息输出到 
                                file2 文件中。
    
    # 输入重定向
    
    command <file	           #将 file 文件中的内容作为 command 的输入。
    command <<END	           #从标准输入(键盘)中读取数据,直到遇见分界符 END 才停止(分界符可以是 
                                任意的字符串,用户自己定义)。
    command <file1 >file2	   #将 file1 作为 command 的输入,并将 command 的处理结果输出到 
                                file2。

     

  •  Shell管道与过滤器

    
    命令	说明
    awk	    用于文本处理的解释性程序设计语言,通常被作为数据提取和报告的工具。
    cut	    用于将每个输入文件(如果没有指定文件则为标准输入)的每行的指定部分输出到标准输出。
    grep	用于搜索一个或多个文件中匹配指定模式的行。
    tar	    用于归档文件的应用程序。
    head	用于读取文件的开头部分(默认是 10 行)。如果没有指定文件,则从标准输入读取。
    paste	用于合并文件的行。
    sed	    用于过滤和转换文本的流编辑器。
    sort	用于对文本文件的行进行排序。
    split	用于将文件分割成块。
    strings	用于打印文件中可打印的字符串。
    tac	    与 cat 命令的功能相反,用于倒序地显示文件或连接文件。
    tail	用于显示文件的结尾部分。
    tee	    用于从标准输入读取内容并写入到标准输出和文件。
    tr	    用于转换或删除字符。
    uniq	用于报告或忽略重复的行。
    wc	    用于打印文件中的总行数、单词数或字节数。

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值