Bash基础

本文详细介绍了Bash的基础知识,包括基本命令与操作符、Bash内建变量、字符串操作、参数替换、循环和函数的使用。通过学习,读者可以掌握Bash脚本的基本语法和常用技巧。
摘要由CSDN通过智能技术生成

Bash基础

基本命与操作符

  # 注释,用于一行行首(#!除外)或本行空白的后边。

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

  ;; 终止case选项。

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

  . 作为文件名的前缀时,则该文件为隐藏文件。作为目录名的一部分.表示当前目录,..表示上一级目录。用于字符匹配中,作为正则表达式的一部分,用来匹配任何单个字符。

   部分引用,”STRING”阻止了一部分特殊字符。

  ' 全引用,’STRING’阻止了全部特殊字符。

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

  \ 转义字符

  / 文件名路径分隔符,或用来作除法。

   `后置引用,命令替换。

  : 空命令

  ! 取反操作符。

  * 万能匹配符,用于文件名匹配或正则表达式中。注意:*在正则表达式匹配中与文件名匹配中是不同的。数学运算。**幂运算。

  ? 测试操作,或在正则表达式中匹配任意单个字符。

  $ 变量替换,或在正则表达式中作为行结束符。

  \$$ 变量的间接引用。

  ^ 正则表达式中表示行首。

  ${} 参数替换。

  $*, $@ 位置参数。

  $? 退状态变量。

  $$ 进程ID变量,保存了运行脚本进程ID。

  () 命令组。注意:在()中的命令列表将作为一个子shell来运行。

  {xxx, yyy, ...} 大括号扩展。

  {} 代码块,又称为内部组。事实上,这个结构创建了一个匿名函数,但是与函数不同的是,在其中声明的变量,对于脚本其它部分的代码来说还是可见的。

  {}\; 路径名

  [] test

  [[]] test

  [] 数组元素,或正则表达式中作为字符匹配的一个范围。

  (()) 算术扩展和赋值,以及允许C风格的变量处理机制。

  > &> >> >& 重定向。

  \<,\> 正则表达式中的单词边界。

  | 管线。

  >| 强制重定向。

  +,-,*,/,**,% 算术操作符

  || 逻辑或

  && 逻辑与

   逻辑非

  << 左移一位

  <<=n 左移n位

  >> 右移一位

  >>=n 右移n位

  & 按位与

  &= 按位与赋值

  | 按位或

  |= 按位或赋值

   按位非

  ^, XOR 按位异或

  ^= 异或赋值

  & 后台运行命令。

  整数比较

操作符 描述
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
< 小于(需要双括号)
<= 小于等于(需要双括号)
> 大于(需要双括号)
=
大于等于(需要双括号)

  字符串比较

操作符 描述
= 等于
== 等于
!= 不等于
< 小于,ASCII值
> 大于,ASCII值
-z 字符串为null
-n 字符串不为null

  文件测试操作

<
操作符 描述
-e 文件存在
-f file是一个普通文件
-s 文件长度是0
-d 文件是个目录
-b 文件是个块设备
-c 文件是个字符设备
-p 文件是个管道
-h 文件是个符号链接
-L 文件是个符号链接
-S 文件是个Socket
-t 关联到一个终端设备的文件描述符,可以用来测试一个给定脚本中的stdin[-t0]或[-t1]是一个终端
-r 文件具有读权限
-w 文件具有写权限
-X 文件具有执行权限
-g
-u
-k
-O 是否为文件的拥有者
-G 文件组id是否与文件拥有者的组id相同
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值