良许Linux教程网 干货合集 Linux系统中shell脚本符号简介

Linux系统中shell脚本符号简介

Linux中Shell脚本会有很多的符号,每一个符号都有特殊的作用,下面良许教程网为大家详细讲解一下Linux系统中shell脚本中各个符号的具体作用。

u=2465341360,1590512096&fm=15&gp=0

 #!脚步中的第一句,指明执行脚本使用的程序
     示例:#!/bin/bash
 # 注释,用于帮助信息或者忽略暂时不执行的语句
 示例:# echo “hello”
 # this is a comment
 $ 变量替换符号
 示例:a=123;echo $a
 ${} 变量正规表达式,避免变量名提前截断
 示例:${13}
 $num 位置参数
 示例:$0,$1,…,${10}
 $? 最后一个命令的推出状态,一般0表示正确,其他表示错误
 示例: if [ $?-ne 0 ]; then
   echo “encounter error”
 fi
 $! 最后一个命令执行的后台命令的ID
 示例:pid=$!
 $$ 运行脚本进程的ID
 示例:pid=$$
 $* 传递到脚步的参数,加双引号时相当于”$1$2 …”
 示例:echo “Theparameters are $*”
 $@ 与$*相同,加双引号相当于”$1”“$2” …
 示例:a=$@
 $# 传递到脚本中的参数个数,不包含$0参数
 示例: echo “theparameter number is $#”
 $- 保存当前shell的设置信息,如果结果中有i,则表示为交互式shell
 示例: echo $-
 ; 将多个指令写在同一行上的分隔符
  示例:a=123;echo $a
 ;; 专用语case选项,作用类似于C语言switch语句中的break
 示例: case${tao} in
             a)echo “a” ;;
              b)echo “b” ;;
 esac
 . 一个表示当前目录,两个表示上一级目录
 示例:cd ..
 , 类似于C语言中的逗号表达式
 示例:let “t1=((a=5+3,b=7-1,c=15/3))”;echo $t1
 ! 表示逻辑运算法“非”
 示例:if [ “$?”!= “0” ]; then
   echo “Execute error”
  exit 1
    fi
 : 在bash中,这是一个内建命令,“什么都不干“,但是返回状态值为0
  示例: :; echo$?; :> f.out 相当于cat/dev/null > f.out
 ? 通配符,匹配任意一个字符,但是不包括null
  示例:ls f?n
 ‘’ 将其内容当作字符串,$和通配符均不扩展或者转义
  示例:a=1; echo ‘$a’ 结果为$a
 “” 将其内容作为字符串,但是$可以扩展,通配符不可以
  示例:b=”string”;echo “$b” 结果为string
 `` 反引号(在键盘数字1左边),其中的字符串会当成命令执行
  示例:a=`date`;echo “$a”
 () 指令群组,将一串指令括起来,执行时shell会产生subshell来执行它们
  示例:(a=1;echo$a)
 (()) bash的内建功能,用于算数运算
  示例:a=10;echo$a;((a++)); echo $a
 [] 同test作用相同,用于表达式真假的判断
  示例: if [ 1-eq 2];then
  echo‘kill me’
   fi
 [[]] bash对[]的加强版,当中允许使用||和&&,并且可以使用正则表达式
  示例:read ver
   if [[ $ver > 5 && $ $ver  正则表达式,匹配单词的词首和词尾
  示例: find ‘\’file
 + 加法,正则表达式中表示字符重复1~n次
  示例: grep ‘10\+9’file
 - 减法,标准输入,cd命令中表示上一次的工作目录
  示例: expr 1 -2 + 3; tar -zxfv -; cd –
 * 乘法,通配符,表示任何字符;一个字符重复0~n次
  示例:let “var=2*3”; ls zha*t; grep ‘a1[0-9]*’
 ** 次方运算
  示例:let “var=2**8”
 / 除法;目录分隔符
  示例:expr 10/2;cd /home/zc
 % 取余
  示例:expr 10 %2
 = 赋值;字符串比较,在[]和[[]]中不同(参见==)
  示例: a=”we”;if [ $a == ‘wee’ ]; then exit0 fi
 == 字符串比较,同单个等号
  示例: a=’we’
  if[[ $a == w* ]]; then
  echo“ok”
   fi
 != 字符串比较,不等于
  示例: if [ “$a”!= “$b” ]; then …
 test  输出重定向,文件存在覆盖,不存在则新建
  示例: ls>out 2>&1
 >> 输出重定向,文件存在追加,不存在则创建
  示例: ls>>out
 & 后台执行工作符
  示例: tar zcvfdata.tar.gz data >/dev/null &
 && 逻辑与,短路操作符
  示例: cp 1.txt2.txt && rm 1.txt && echo ‘success’
 | 管道操作符
  示例: cat file| grep ‘fan’
 || 逻辑或,短路操作符
  示例: rm 1.txt|| echo ‘fail’
 ~ 根目录
  示例: cd ~
 ^ 正则表达式中匹配行的开头
  示例: grep ‘^home’file
 \ 转义字符,续行符号
  示例: echo “\$A=$A\
 This is the first line”;

至此关于Linux系统中shell脚本各个符号的使用方法分享结束,大家有任何问题都可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部