shell
开篇: #!/bin/bash
位置参量 $0 脚本名字 $1第一个参数 $2第二个参数 ${10}为第10个参数 以此类推
$! 最后一个后台运行的进程id
$* 所有参数的值
$# 参数个数
$$ 运行此脚本的进程号
$? 程序的退出状态 0 没有问题 非 0表示有错误
exit 100 结束脚本 $?查看退出状态 为100
本地变量 a=100 环境变量 export a=100 只读变量不可以删除修改 readonly a=100
本地变量只能在当前shell进程中使用,要想在子进程shell脚本中使用 需要export 转换为全局变量
set | grep $a 查找局部变量$a
env |grep $a 查找全局变量 $a
type ps 查看命令是外部命令 还是shell内部命令
arr=(helle china world) 定义一个三个元素的数组
echo ${arr[*]} 输出数组全部元素
echo ${arr[1]} 输出数组第二个元素
echo ${#arr[*]} 输出数组个数
unset 删除变量或数组
read 从标准的输入设备读取输入到 默认$REPLY变量中
read var 读取输入到$var变量中
read -a arr 读取多个输入到数组当中,空格分开
read -e "\33[y;xH" 改变光标的位置
echo -e "\t" 输出一个制表符
echo `basename \`pwd\`` 命令的嵌套使用输出,pwd的结果交给basename求出文件名字,basename的结果交给echo来输出到屏幕$()和``是一样的
echo $(dirname$(pwd))
n=10
echo $(($n+10)) 输出20 不会改变n的值
n=$(($n+10)) 输出20 n被重新赋值20
n=`expr 4 + 5`
n=`expr 4 \* 5`
len n=$n+1