bash学习笔记
来源:互联网 发布:excel做数据分析好吗 编辑:程序博客网 时间:2024/06/06 02:58
set -e表示一旦脚本中有命令的返回值为非0,则脚本立即退出,后续命令不再执行
linux中shell变量$#,$@,$0,$1,$2的含义解释:
变量说明:
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
用readlink命令我们可以直接获取$0参数的全路径文件名,然后再用dirname获取其所在的绝对路径:
sed -n
只显示sed匹配到的行。其余行不显示。下文有范例。awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
假设last -n 5的输出如下
[root@www ~]# last -n 5 <==仅取出前五行root pts/1 192.168.1.100 Tue Feb 10 11:21 still logged inroot pts/1 192.168.1.100 Tue Feb 10 00:46 - 02:28 (01:41)root pts/1 192.168.1.100 Mon Feb 9 11:41 - 18:30 (06:48)dmtsai pts/1 192.168.1.100 Mon Feb 9 11:41 - 11:41 (00:00)root tty1 Fri Sep 5 14:09 - 14:10 (00:01)
如果只是显示最近登录的5个帐号
#last -n 5 | awk '{print $1}'rootrootrootdmtsairoot
awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。
如果只是显示/etc/passwd的账户
#cat /etc/passwd |awk -F ':' '{print $1}' rootdaemonbinsys
这种是awk+action的示例,每行都会执行action{print $1}。
-F指定域分隔符为':'。
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
#cat /etc/passwd |awk -F ':' '{print $1"\t"$7}'root /bin/bashdaemon /bin/shbin /bin/shsys /bin/sh
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。
cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'name,shellroot,/bin/bashdaemon,/bin/shbin,/bin/shsys,/bin/sh....blue,/bin/nosh
awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。
- bash学习笔记(1)
- bash 脚本学习笔记
- bash初步学习笔记
- shell(bash)学习笔记
- Bash 基础学习笔记
- Bash学习笔记
- bash shell学习笔记
- bash shell 学习笔记
- BASH-学习笔记
- bash学习笔记一
- 《学习bash》笔记--引用
- 《学习bash》笔记--输入输出
- Bash学习笔记
- Bash学习笔记
- bash学习笔记
- bash shell 学习笔记
- Git Bash学习笔记
- bash学习笔记1-bash基础
- BZOJ3563/3569 DZY Loves Chinese II/DZY Loves Chinese
- C# 伪随机数生成类
- 关于C++中函数指针的使用(包含对typedef用法的讨论)
- 关于UNITY插件 ICE Creature Control的使用教程
- Gartner2017年BI研究计划曝光,来看看他研究的都是啥?
- bash学习笔记
- 欢迎使用CSDN-markdown编辑器
- Chrome调试js出现Uncaught SyntaxError: Unexpected identifier
- 【JS】数组和对象就像是书与报纸的关系
- Hibernate框架查询方式概述
- 如何制作python安装模块(setup.py)
- #hiho1513 : 小Hi的烦恼 (bitset解决五维数点问题)
- 搜索引擎催生生态圈 影响网站排名基本因素
- 玩转gitHub之上传代码