Linux Shell 《abs_guide》 学习笔记(2)

 3. 特殊符号

#    注释,行首以'#'开头为注释(#!例外)

      注意:在echo命令中被转义的#是不能作为注释的;同样的,#也可以出现在特定的参数替换结构中或者是数字常量表达式中。

      例:

      1. echo "The # here does not begin a comment."

      2. echo 'The # here does not begin a comment.'

      3. echo The /# here does not begin a comment.

      4. echo The # here does begin a comment

      5.

      6. echo ${PATH#*:}    #参数转换,不是注释

      7. echo $((2#101011))    #参数转换,不是注释

 

      标准的引用和转义字符("'/)可以用来转义#

 

;     命令分隔符,可以用来在一行中写多个命令

      有时候需要转义

 

;;    中止'case'选项

      例:

      1. case "$variable" in

      2. abc)  echo  "/$variable = abc" ;;

      3. xyz)  echo  "/$variable = xyz" ;;

      4. esac

 

.     .命令等价于source命令,这是一个bash内建命令。

 

.     .作为文件名的一部分,如果作为文件名的前缀的话,那么这个文件为隐藏文件,不被ls列出。

 

.     .作为目录名的一部分,那么.表达的是当前目录,".."表示上一级目录。

      .命令经常作为一个文件移动命令的目的地

 

,     逗号连接了一系列的算术操作,虽然里边所有内容都被运行了,但只有最后一项被返回。

      例:

      1. let "t2 = ((a = 9, 15/3))" # Set "a = 9" and "t2 = 15/3"

 

`    后置引用,命令替换

 

:     空命令,等价于"NOP", 也可被认为与shell的内建命令(true)作用相同

      在if/then中的占位符;

      在一个二元命令中提供一个占位符;例: 1 :${username=`whoami`} # 如果没有:的话,将输出一个错误

      使用"参数替换"来评估字符串变量;

      "变量扩展/子串替换",在和>重定向操作符结合使用时,把文件截断到0长度,没有修改它的权限,如果文件不存在,则创建它;

      在和>>重定向操作符结合使用时,不会对文件产生任何影响,若文件不存在,则创建它;

 

!     取反操作符

**  幂运算

 

${} 参数替换

 

$*,S@  位置参数

 

$?    退出状态变量。$?保存一个命令,一个函数或者脚本本身的退出状态。

 

$$    进程ID变量,这个变量保存运行脚本的进程ID

 

&      后台运行命令,一个命令后面跟&,将表示在后台运行

 

可能还有很多符号,以后慢慢补充,下一篇写参数和变量的介绍~(To be continue...)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值