Bash符号(2)

小括号##

1,表示命令组

a=123
(a=321)

echo $123

得到的结果是123,因为()的语句会作为一个子程序来运行,父进程不能读取子进程的变量,所以对于父进程来说是不可见的,因此这里输出的是父进程中a的值

2,初始化数组
a=(1 2 3 4 5 ) echo ${a[2]}

中括号##

条件判断
if [a -lt 10] #-lt=less than then

尖括号##

重定向作用:

test.sh >file  #将test.sh的输出重定向到file中,若file不存在则重建,存在则覆盖
test.sh>>file #append to file

(|)竖线##

竖线最常用的作用就是管道,将前面命令的输出作为后面命令的输入

#test.sh

#!/bin/bash
tr 'a-z' 'A-Z'
exit 0

改变权限并执行:
chmod 755 test.sh ls -l | ./test.sh
得到的输出全部变成大写字母
tr命令是控制字符或进行字符转换的,这里不讲解其语法

你可能感兴趣的:(Bash符号(2))