深入理解bash及字符串的处理
1、bash的内置变量: PATH PS1 HOSTNAME UID HISTFILE HISTEILESIZE HISTCONTROL $BASH:bash二进制程序文件的路径 $BASH_SUBSHELL:子shell的层次 $BASH_VERSION $EDITOR:默认编辑器 $EUID:有效的用户ID $UID:当前用户的ID号 $FUNCNAME:当前函数的名称 $GROUPS:当前用户显示的组 $HOME:当前用户的家目录 $HOSTTYPE:主机架构类型,用来识别系统硬件 $MACHTYPE:平台类型,系统平台依赖的编译平台 $OSTYPE:OS系统类型 $IFS:输入数据时的字段分隔符,默认是空白符(空格、制表符、换行符) $OLDPWD:上次使用的目录 $PWD:当前目录 $PPID:父进程 $PS1:主提示符 $PS2:第二提示符,主要用于补充完全命令输入时的提示符 $PS3:第三提示符,用于select命令中 $PS4:第四提示符,当使用-X选项调用脚本时,显示的提示符,默认为+号 $SECONDS:当前脚本已经运行的时长 $SHLVL:shell的级别。bash别嵌入的深度 2、特殊变量: $0:脚本名称自身 $1,$2。。。。:位置参数 $#:命令行参数个数 $*:所有的参数,被当作一个字符串 $@:所有的参数,每个参数都是一个独立的字符串 $-:传递给脚本的标记 $!:运行于后台的最后一个作业的PID $_:上一条命令的最后一个参数的值 $?:上一条命令状态的返回值 $$:脚本自身的PID 操作变量: ${#var} :返回变量中字符串的长度 ${var}:变量引用 ${var:-default}:如果var没有声明或者为空,则返回default字串,否则返回var自身的值 ${var:+default}:如果var没有声明或者为空,则返回空字串,否则返回default的值 ${var:=default}:如果var没有声明或者为空,则返回default字串,并且将default赋值给var,否则返回var自身的值 ${var:?default}:如果var没有声明或者为空,则以default为错误信息返回,否则 zb 返回var自身的值 字串消除 ${var#*word}:查找var中自左而右第一个被word匹配到的串,并将此串及向左的所有内容都删除 ${var##*word}:查找var中自左而右最后一次被word匹配到的串,并将此串及向左的所有内容都删除 ${var%word*}:查找var中自右而左第一个被word匹配到的串,并将此串及向右的所有内容都删除 ${var%%word*}:查找var中自右而左最后一次被word匹配到的串,并将此串及向右的所有内容都删除 取字串: ${var:pos}:偏移pos个字符,取余下的字串 name=jerry,${name:2}结果为rry ${var:pos:num}偏移pos个字符,取num个字符长度的字串 name='hello world' ${name:2:5}结果为llo w 字串替换 ${var/Pattern/Replaceplacement} :以Pattern为模式匹配var中的字串,将第一次匹配到的替换为Replaceplacement ${var// Pattern/Replaceplacement} :以Pattern为模式匹配var中的字串,将全部匹配到的替换为Replaceplacement6 声明变量: declare -i:整形 -a:数值 -x:环境变量 -r:只读变量,不能撤销,不能修改,相当于readonly -f:声明函数 bash编程的信号捕获(KILL无法捕捉) trap 陷阱 #查看信号 kill -l #使用方法,命令加信号 trap ‘command’ signal 信号捕捉用于:在中途中止时做一些清理操作 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |