Linux-shell编程-变量
参考文献
https://github.com/52fhy/shell-book/blob/master/chapter1.md
定义变量
定义变量时,变量名不加美元符号($)
1variableName="value"
注意,变量名和等号之间不能有空格
变量名的命令遵循如下规则:
首字母必须为字母(A-Z,a-z)
中间不能有空格,可以使用下划线(_)
不能使用标点符号
不能使用bash里的关键字
在变量前面加readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
使用 unset 命令可以删除变量。语法:
1unset variable_name
变量被删除后不能再次使用;unset 命令不能删除只读变量。
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号($)
123name="holelin"echo $nameecho ${name}
变量名外面的花括号时可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界
变量类型
局部变量 局部变量 ...
Linux-shell脚本编程(二)
用cat进行拼接
cat: (concatenate)拼接,cat命令不仅可以读取文件和拼接数据,它还能够从标准输入中进行读取。要从标准输入中读取,就要使用管道操作符:
123OUTPUT_FROM_SOME COMMANDS | catehco 'Text through stdin' | cat - file.txt- 被作为来自stdin文本的文件名
cat file1 file2 file3
压缩空白行
cat -s file.txt
cat file.txt | tr -s '\n'
将制表符显示为^|
cat -T file.txt
显示行号:cat -n file.txt
录制和回放终端
script -t 2> timing.log -a output.session 输入exit退出
timing.log文件用于存储时序信息,描述每个命令在何时运行
out.session文件用于存储命令输出。
-t 选项用于将时序数据stderr
2>则用于stderr重定向到timing.log
...
Linux-shell脚本编程(一)
参考文献
Linux Shell脚本攻略
脚本开头
1# !/bin/bash
查看环境变量
查看所有环境变量env
查看单个程序的环境变量
pgrep <程序名称>
cat /proc/$PID/environ
示例
12345678910111213[root@holelin ~]# pgrep java2375829629[root@holelin ~]# cat /proc/23758/environ | tr '\0' '\n'SHELL=/bin/bashUSER=jenkinsPATH=/sbin:/usr/sbin:/bin:/usr/binPWD=/LANG=en_US.UTF-8HOME=/var/lib/jenkinsSHLVL=2LOGNAME=jenkins_=/usr/local/jdk1.8/bin/java
获取字符串长度
12[root@holelin ~]# echo ${#USER}4
识别当前的shell版本
1234[root@holeli ...