Shell脚本
Shell变量
- 变量定义
#!/bin/bash
my_name="sunpy"
- 变量使用
echo ${my_name}
- 只读变量
readonly my_url
- 删除变量
unset my_url
字符串
- 字符串拼接
#!/bin/bash
my_name="sunpy"
my_str="my name is "${my_name}", hello!"
echo ${my_str}
- 获取字符串长度
echo ${#my_str}
- 提取子字符串
echo ${my_str:3:4}
Shell数组
- 数组定义
my_arr=("f" 2 "k")
- 数组元素引用
my_arr[1]="uc"
- 读取数组
${my_arr[1]}
- 读取数组所有元素
${my_arr[@]}
- 获取数组长度
${#my_arr[@]}
Shell运算符
- 算术运算符
-
布尔运算符
-
逻辑运算符
-
字符串运算符
-
文件测试运算符
echo命令输出
- 显示普通字符
echo "my name is zhangsan"
- 显示转义字符
echo "\" my name is zhangsan\""
- 显示变量
# read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量
read name
echo ${name}" get very good!"
- 显示换行
echo -e "OK! \n" # -e 开启转义
echo "It is a test"
- 显示不换行
echo -e "OK! \c" # -e 开启转义 \c 不换行
echo "It is a test"
- 追加写入
echo "wo tu le " >> test.sh
printf命令输出
printf "printf operate\n"
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
控制语句
-
if then fi
-
if then else fi
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
for 循环
for loop in 1 2 3 4 5
do
echo "The value is: $loop"
done
while 语句
value=1
while(( $value<=5 ))
do
echo $value
let "value++"
done
until循环
until [ ! $val -lt 10 ]
do
echo $val
val=`expr $val + 1`
done
跳出循环
break
跳出循环
continue
跳出当前循环
until [ ! $val -lt 10 ]
do
if [ $val = 8 ]
then
break;
fi
echo $val
val=`expr $val + 1`
done
Shell函数
function doExec() {
let my_exec="now var is exec";
return my_exec;
}
echo "doExec return value "$?
Shell输入输出重定向
echo "select * from bus_auth_check_info" > sunpy.txt
将信息写入文件,删掉该文件,重新创建文件,写入信息
echo "select * from emp_user" >> sunpy.txt
将信息写入文件,将信息增加的文件的尾部。
备注
- vim显示行号
:set nu
- 整行删除
双击D - vim搜索文本
/
向后搜索
n