shell 笔记
来源:互联网 发布:魔法王座升阶数据汇总 编辑:程序博客网 时间:2024/06/01 11:28
1、位置变量
$0:shell脚本名称
$1-$9:第一个到第九个位置的参数
${10}:第十个位置参数
$# 位置参数个数
$*:所有的位置参数
$@:除去使用双引号的情况和上一个相同
"$*":其值为“$1 $2 $3”
"$@":其值为"$1" "$2" "$3"
$:当前shell的PID
$?:上一条命令的退出码
!:最后一个进入后台作业的PID
2、算术运算
声明变量:typeset
typeset -i var 声明整数变量
typeset -F var 声明浮点数变量
typeset -E var 声明浮点数变量
shell通过对一个算术表达式求值并替换结果来执行算术扩展。求值算术表达式有以下两种格式:
$[ expression ]
$(( expression ))
3、数组
shell中可使用declare -a声明一个数组变量或者直接给变量名一个下标来创建数组。例如
declare -a var_name
var_name=(item1 item2 item3)
declare -a num=(43 22 100)
声明数组不一定要使用declare命令,当给任何一个使用下标的变量赋值时,将自动被当作一个数组。
x[0]=1
x[3]=100
要取数组中一个元素的值,使用命令${数组名[索引]},要获取整个数组使用${数组名[*]}
要删除数组中某一个元素,使用“unset 数组名[下标]”,删除整个数组使用“unset 数组名”
使用${#数组名[*]}输出的是数组的大小,使用${#数组名[0]}输出的是数组第一个元素含有的字符个数。
4、读取用户输入
read命令:
read var 从标准输入读取一行并赋值给变量var
read first last 从标准输入读取一行,直到遇到第一个空白符或换行符,把第一个词存入first中,剩余的存入last中。
read 从标准输入读取一行存入到内置变量REPLY中
read -a array 读取一行的一组词,一次赋值给数组array
read -p prompt var打印提示符prompt,并将输入赋值给var
5、内置命令test与let
单括号的test命令:可以使用单独的test命令,也可以把表达式用单括号括起来,来测试表达式的值。在使用test或者单括号测试表达式时,表达式中的元字符不会被扩展。
双括号的test命令,使用双括号来测试表达式的值时,可以通过元字符扩展进行模式匹配。
第一个方括号后面必须有空格。
6、获取当前时间
`date '+%Y-%m-%d %H:%M:%S'`
7、新建文件
touch filename
8、函数
函数的定义由花括号中的一组命令组成,命令之间以分号分隔,最后那条命令必须以分号终结,花括号两侧的空格是必须的,传递给函数的参数被当做函数内的位置参量。
function fun { echo 'hello shell' ls echo 'over';}这是在命令行直接定义函数,在文件中则不需要
- [shell]shell脚本笔记
- shell笔记
- shell笔记
- shell笔记
- shell笔记
- Shell笔记
- Shell笔记
- shell笔记
- Shell 笔记
- shell 笔记
- shell笔记
- Shell 笔记
- shell笔记
- shell笔记
- shell笔记
- shell笔记
- shell笔记
- Shell笔记
- 别迷糊了!PHP_SELF、 SCRIPT_NAME、 REQUEST_URI !
- LINK : warning LNK4076: invalid incremental status file "Debug/helloworld.il
- 《PHP求职宝典》--PHP语言基础笔记2
- PHP分页显示数据库记录
- dedecms5.7会员中心无法上传图片怎么办
- shell 笔记
- spring+hibernate+事务
- 程序员必须知道的几个国外IT网站
- 获取上一个月第一天的日期和天数
- 初学Qt之--带参数的信号和槽的实现(入门级)
- 服务器和PC Server介绍
- mysqlsla安装配置
- 【转载】 风格之争:Coroutine模型 vs 非阻塞/异步IO(callback)
- 黑马程序员 – 学习银行业务调度系统 – 2012.12.28