shell脚本的基本用法备忘

==符号注意两边保留空格

使用注意必须两边包含空格才是合法的,否则一些条件判断中可能产生不可预知的报错

1
2
3
4
5
6
### 有问题的写法
if [[ $v=='' ]]
### 没问题的写法
if [[ $v == '' ]]


获取命令执行后的结果

1
2
### 使用顿号 `` 包裹起来需要执行的命令 或者 $(),推荐前者
echo `pwd`

定义和使用变量

1
2
3
4
## 直接定义即可
v=`pwd`
## 通过$+变量名来打印
echo $v

sort 的常见用法

1
2
3
4
5
## 默认升序,降序-r
sort -r xxx

### 按照指定某列排序
sort -k 2 xxx

if 判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
### 虽然可以用test或者单[ ,建议统一使用  [[ ]] 来包含判断条件
v=5
if [[ $v == 5 ]];then
echo "hello"
fi

## 判断文件是否存在 -d
v=`pwd`
if [[ -d $v ]];then
echo "hello"
fi

## 判断字符串为空 -z
if [[ -z $string ]]

for 循环

1
2
3
4
5
#### 读取文件,按行展示
for line in `cat filename(待读取的文件)`
do
  echo $line
done