1.2 特殊字符

我们已经了解了关于 Bash SHELL 的变量部分,现在我们需要了解相关的字符介绍

  • . : 放在文件名称头表明该文件是隐藏文件

#!/bin/bash

# # 在 SH 中表示为注释

# ; 在 SH 中作用为命令分隔符
echo "Hello"; echo "world"

# ;; case 条件语句终止符
# \  转义字符标志
name=JTZ
case $name in
        abc) echo "\$name = abc";;
        JTZ) echo "\$name = JTZ";;
esac

# / 文件路径分割符
cd /home

# ` 将命令的执行结果返回给变量
nmae=`ls`

# : 空命令,等价于 true、"NOP"
# > 内容输出到清空的文件中
# >> 内容重定向到文件中
: > data.txt  # 清空 data.txt 文件

exit 0

逻辑运算符

#!/bin/bash

# ! 表示取反
# || 或逻辑运算符
# & 后台运行操作符,如果命令后带&,那么此命令将转至后台运行。
bash$ sleep 10 &
[1] 850

# && 与逻辑操作符

算术运算符

#!/bin/bash
# + - * /  %

关于数组的操作符

#!/bin/bash

# () 命令组、元组
# 当命令组使用时相当于一个子函数
(
	a=hello;
	echo $a;
)
Array=(a,b,c)

# 三元运算符
(( var0 = var1<98?9:21 ))

# {} 代码块、数组
Array={These,words,are,quoted}
# 当充当代码块时相当于是创建了一个  匿名函数
a=123
{ a=321; }
echo "a = $a"   # a = 321   (代码块内赋值)

# [] 偏移量
Array=(a,b,c)
echo $Array[1]
# $[....] # 整数扩展符。在 $[ ] 中可以计算整数的算术表达式。
a=3
b=7
echo $[$a+$b]   # 10
echo $[$a*$b]   # 21

重定向

#!/bin/bash

# > 将 HELLO 输入到 filename 文件,并且覆盖掉原始文件内容
echo "HELLO" > filename.txt

# >> 将 HELLO 追加到 filename 文件
echo "HELLO" >> filename.txt
# >&
command &> filename # 将命令 command 的标准输出(stdout) 和标准错误输出(stderr) 重定向到 filename。

管道

# | 管道(pipe)。管道可以将上一个命令的输出作为下一个命令的输入,或者直接输出到shell中。管道是一种可以将一系列命令连接在一起的绝妙方式。

$ cat *.lst | sort | uniq

最后更新于

这有帮助吗?