随笔分类 - shell
摘要:【1】shell相关set: 查看当前bash里的所有变量。#查看系统默认SHELL: echo $SHELL/etc/shells: 文件记录了系统支持的有效登录Shell更改用户默认shell: 修改/etc/passwd文件中用户记录的最后一个字段。 【2】简单命令pstree: 查看进程树p
阅读全文
posted @ 2019-11-18 23:47
山的那一边
摘要:在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义。变量的类型可以是数字、字符串。根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文。下面为变量的赋值符号列表: 符号 含义 等价形式 = a = 5 a = 5 += a = a + 5 a += 5 -=
阅读全文
posted @ 2019-03-20 17:35
山的那一边
摘要:Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty。其中/dev/null将会丢掉所有写入它的数据,换句换说,当程序将数据写入到此文件时,会认为它已经成功完成写入数据的操作,但实际上什么事都没有做。如果你需要的是命令的退出状态,而非它的输出,此功能会非常有用,见如下Shell代码: /> vi test_dev_null.sh #!/bin/bas...
阅读全文
posted @ 2019-03-20 15:25
山的那一边
摘要:★ 行的排序命令sort: 1. sort命令行选项: -t 字段之间的分隔符 -f 基于字符排序时忽略大小写 -k 定义排序的域字段,或者是基于域字段的部分数据进行排序 -m 将已排序的输入文件,合并为一个排序后的输出数据流 -n 以整数类型比较字段 -o outfile 将输出写到指定的文件 -r 倒置排序的顺序为由大到小,正常排序为由小到大 -u 只有唯一的记录,丢弃所有具有相同键值的记录...
阅读全文
posted @ 2019-03-20 10:27
山的那一边
摘要:awk也是逐行扫描文件,寻找匹配特定模板的行,并在这些行上运行“选择”动作。 ▪如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上。 ▪如果一个动作没有模板,所有被动作指定的行都被处理。
阅读全文
posted @ 2019-03-20 10:15
山的那一边
摘要:sed一次处理一行文件并把输出送往屏幕。sed把当前处理的行存储在临时缓冲区中,称为模式空间(pattern space)。一旦sed完成对模式空间中的行的处理,模式空间中的行就被送往屏幕。行被处理完成之后,就被移出模式空间,程序接着读入下一行,处理,显示,移出......文件输入的最后一行被处理完
阅读全文
posted @ 2019-03-20 10:07
山的那一边
摘要:★调试选项: -n:读一遍脚本中的命令但不执行,用于检查脚本中的语法错误。例:bash -n test.sh -v:边执行脚本,边将执行过的脚本命令打印到标准输出。例:bash -v script.sh -x:提供跟踪执行信息,将执行的每一条命令和结果依次打印出来。 ▼使用“-x”选项之前,先定制P
阅读全文
posted @ 2019-03-20 10:00
山的那一边
摘要:(1),使用cut命令选定字段 cut -d : -f 1,5 -f 3- -c 1-4 -c以字符数量为标量 -c-4 -c4- -c1,4 -c1-4,5 【应用实例】 cut命令是用来剪下文本文件里的数据,文本文件可以是字段类型或是字符类型。 /> cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:...
阅读全文
posted @ 2019-03-20 09:24
山的那一边
摘要:val=`expr 2 + 2` 表达式和运算符之间要有空格 条件表达式要放在方括号之间,并且要有空格 ●算术运算符 + 加法 `expr $a + $b` 结果为 30。 - 减法 `expr $a - $b` 结果为 10。 * 乘法 `expr $a \* $b` 结果为 200。 / 除法 `expr $b / $a` 结果为 2。 % 取余 `expr $b % $a` 结果为 0。...
阅读全文
posted @ 2019-03-18 14:10
山的那一边
摘要:【变量】▪变量设置规则 ▪定义变量 ●Bash中的数学运算 一 root@centos:~ # a=1 root@centos:~ # b=2 root@centos:~ # c=$(($a+$b)) 二: root@centos:~ # a=1 root@centos:~ # b=2 root@c
阅读全文
posted @ 2019-03-18 13:46
山的那一边
摘要:Shell中提供了创建一维数组的能力,你可以把一串数字、名字或者文件放在一个变量中。 Shell中的数组也是0开始的,获取数组中某个元素的语法格式为:${arrayname[index]}。 ▪bash仅支持一维数组, ▪下标可以是整数或算术表达式 ▪下标可以不连续 ▪不需要定义数组大小 (1)定义数组 括号来表示数组,元素用"空格"分割。 1,array_name=(value0 valu...
阅读全文
posted @ 2019-03-18 10:52
山的那一边
摘要:1. 读取用户变量: read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY。下面的列表给出了read命令的常用方式: 命令格式 描述 read answer 从标
阅读全文
posted @ 2019-03-13 17:40
山的那一边
摘要:下面的列表为Shell中支持的重新定向操作符。 操作符 功能 < 重新定向输入 > 重新定向输出 >> 追加输出 2> 重新定向错误 &> 重新定向错误和输出 >& 重新定向错误和输出 2>&1 重新定向错误到标准输出 1>&2 重新定向标准输出到错误 >| 重新定向输出的时候覆盖noclobber
阅读全文
posted @ 2019-03-13 14:53
山的那一边
摘要:•shell中,只有环境变量是全局的•shell脚本中,定义在方法外的就是全局变量•shell 中在方法中定义的变量默认也是全局变量•local一般用于局部变量声明,都在函数内部使用 (1)shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止
阅读全文
posted @ 2019-03-13 14:46
山的那一边
摘要:【命令替换】 同样我们需要把命令的输出结果赋值给一个变量或者需要用字符串替换变量的输出结果时,我们可以使用变量替换。在Shell中,通常使用反引号的方法进行命令替换。 /> d=`date` #将date命令的执行结果赋值给d变量。 /> echo $d Fri Nov 18 16:35:28 CS
阅读全文
posted @ 2019-03-13 14:29
山的那一边
摘要:Shell中提供三种引用字符,分别是:反斜杠、单引号和双引号,它们可以使Shell中所有元字符失去其特殊功能,而还原其本意。见以下元字符列表: 元字符 描述 ; 命令分隔符 & 后台处理Shell命令 () 命令组,创建一个子Shell {} 命令组,但是不创建子Shell | 管道 < > 输入输
阅读全文
posted @ 2019-03-13 14:11
山的那一边
摘要:Shell中提供了一些以$开头的内置变量,见下表: 变量名 描述 $? 表示Shell命令的返回值 $$ 表示当前Shell的pid $- 表示当前Shell的命令行选项 $! 最后一个放入后台作业的PID值 $0 表示脚本的名字 $1-$9 表示脚本的第一到九个参数 ${10} 表示脚本的第十个参
阅读全文
posted @ 2019-03-13 14:07
山的那一边
摘要:Shell中还提供了一组模式匹配运算符,见下表: 运算符 替换 ${variable#pattern} 如果模式匹配变量值的开头,则删除匹配的最短部分,并返回剩下的部分,变量原值不变。 ${variable##pattern} 如果模式匹配变量值的开头,则删除匹配的最长部分,并返回剩下的部分,变量原
阅读全文
posted @ 2019-03-13 13:57
山的那一边

浙公网安备 33010602011771号