Shell编程

Jennifer ·
更新时间:2024-09-20
· 680 次阅读

$0: 当前脚本文件名

$n: 第n个参数

$#: 参数个数

$*: 整个参数数据形式传递所有参数

$@: 单个参数数据形式传递所有参数

$?: 获取上一个命令的退出状态(0/1)/获取函数返回值

${#string}: 显示字符串的长度

${string:start:length}: 从左边0开始计数到start,截取长度为length的字符串,若“:length”省略截取剩下的字符串

${string:0-start:length}: 从右边1开始计数到start,截取长度为length的字符串,若“:length”省略截取剩下的字符串

${string#*chars}: 截取第一个chars右边的所有字符

${string##*chars}: 截取最后一个chars右边的所有字符

${string%chars*}: 截取最后一个chars左边的所有字符

${string%%chars*}: 截取第一个chars左边的所有字符

${array_name[number]}: 数组array_name的第number个数(从0开始数)

${array_name[*]}、${array_name[@]}: 数据array_name的所有数据

array_new=(${array1[*]} ${array2[*]}): 合并array1和array2为array_new

array_new=(${array1[@]} ${array2[@]}): 合并array1和array2为array_new

unset array_new[number]: 删除array_new的第number个数据(从0开始数)

关联数组(下标是字符串的数组):

declare -A array_name

array_name["element1"]="content1"

array_name["element2"]="content2"

type COMMAND: 查找命令类型,内建命令或外部文件

alias new_name='command': alias化名,自定义命令别名

unalias new_name: 删除别名

echo: 输出字符串

read [-options] [variables]: 从键盘读取数据

exit: 退出当前进程

declare [options] [variables]: 设置变量属性

(()): 对整数进行数学运算

bc: 一款数学计算器,整数小数/不同进制

test: 检测某个条件是否成立

[ expression ]: 等价于test

[[]]]: test的升级版,检测某个条件是否成立

break n: 跳出n层循环,省略n表示跳出一个循环

continue n: 忽略本次i循环剩余代码直接进入下一此循环,省略n表示对当前层次的循环语句有效


作者:这个我会



shell编程 shell

需要 登录 后方可回复, 如果你还没有账号请 注册新账号