Linux dirname $0 source if
$SHELL gives the full path to your default shell.
$0 gives the name of your current shell.
dirname是一个命令,获取指定文件的路径
dirname voctrals/test.sh 的结果是voctrals。
现在就可以解释cd `dirname $0`了。
进入所运行的shell的目录,这样一来就可以查看目录下的其它文件了,如source。
source用于引入一个shell文件,类似于java的import或者ruby的require
他有一个等效的写法就是一个点,"."。
basename,他的功能是输出当前shell的名称。。。
bash中方法定义函数的格式
outinfo () {
D=$(date '+%F %T')
echo "<$D>[INFO]${1}"
}
调用方法时: outinfo "something for out";
if,如果if行里面有then的话,then前面需要有分号";"分割。
不然可以把then换到第二行
if methodcall parameter; then
if body
fi
if条件判断参照: Other Comparison Operators
单引号:hard quotes,凡在hard quote中的所有meta均被关闭。
双引号:soft quotes,在soft quote中的大部分meta都会被关闭,但某些保留(如$)。
反斜线:\,只有紧接在escape(跳脱字符)之后的单一meta才被关闭。
AWK : 绝壁不是什么缩写,而是Alfred Aho、Peter Weinberger、Brian Kernighan三位作者的首字母
awk:逐行分析传递过来的文本,以默认的空格或者制表格为分隔符
awk中有一个默认的变量NF,是传递过来的文本中有多少个字符(以默认字符进行分割)
管道方式
#打印文本信息
echo first second third | awk '{print $0}'
#打印第二个字符串
echo first second third | awk '{print $2}'
#输出文本中字符串的个数
echo first second third | awk '{print NF}'
#打印最后一个字符串
echo first second third | awk '{print $NF}'
文件方式
#打印main.sh中每行的第二个元素
awk '{print $2}' main.sh
指定分隔符
#指定冒号:为分隔符,需要紧跟着-F
awk -F: '{print $1}' voctrals/main.sh
#另外一种方式
awk 'BEGIN{FS = ":"} {print $1}' /etc/passwd
运用正则表达式作为分隔符
#以one,冒号,空格作为分隔符
echo 'woonea|aoaoaoaonebboneb:iooneii:' |awk -F'one|:| ' '{print NF}'
awk内置变量
ARGC 命令行参数个数
FILENAME 当前输入文档的名称
FNR 当前输入文档的当前记录编号,尤其当有多个输入文档时有用
NR 输入流的当前记录编号
NF 当前记录的字段个数
FS 字段分隔符
OFS 输出字段分隔符,默认为空格
ORS 输出记录分隔符,默认为换行符\n
RS 输入记录分隔符,默认为换行符\n
awk能够同时处理两个文件,这就是FNR和NR的区别
文件a.txt有两行,b.txt有三行,那么以下输出结果为:
awk 'print FNR,NR' a.txt b.txt
Linux dirname $0 source if的更多相关文章
- Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)【转】
前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pi ...
- linux的0号进程和1号进程
linux的 0号进程 和 1 号进程 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) * idle进程由系统自动创 ...
- Kali Linux 2.0配置并安装常用的工具
Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具. Kali Linux 2.0是基于Debian ...
- Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建
位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...
- 关于kali linux 2.0的vmware tools的安装问题
在安装好kali linux 2.0 后,首先要做的就是添加源并更新系统,否则会出现软件定位问题. 在kali 2.0中,vmware tools已经不能使用了,官方放了一个工具下载安装就好. 添加源 ...
- 如何在 Docker 容器中运行 Kali Linux 2.0
https://linux.cn/article-6103-1.html Kali Linux 是一个对于安全测试人员和白帽的一个知名操作系统.它带有大量安全相关的程序,这让它很容易用于渗透测试.最近 ...
- 跨年呈献:HP-Socket for Linux 1.0 震撼发布
三年,三年,又三年,终于,终于,终于不用再等啦!就在今天,HP-Socket for Linux v1.0 震撼发布!还是一样的接口,一样的高效,一样的简便,一样的味道. HP-Socket ...
- linux中fork, source和exec的区别
转:linux中fork, source和exec的区别 shell的命令可以分为内部命令和外部命令. 内部命令是由特殊的文件格式.def实现的,如cd,ls等.而外部命令是通过系统调用或独立程序实现 ...
- (转)S5pv210 HDMI 接口在 Linux 3.0.8 驱动框架解析 (By liukun321 咕唧咕唧)
作者:liukun321 咕唧咕唧 日期:2014.1.18 转载请标明作者.出处:http://blog.csdn.net/liukun321/article/details/18452663 本文 ...
随机推荐
- 表视图控制器(TableViewController)(三) 、 表视图搜索
1 乐库的设置界面 1.1 问题 tableView分为静态(static)和动态(dynamic),之前使用的都是动态的tableView,表视图的有多少分区.有多少行以及每一行显示的内容都不是固定 ...
- 四 GPU 并行编程的存储系统架构
前言 在用 CUDA 对 GPU 进行并行编程的过程中,除了需要对线程架构要有深刻的认识外,也需要对存储系统架构有深入的了解. 这两个部分是 GPU 编程中最为基础,也是最为重要的部分,需要花时间去理 ...
- ZOJ Problem Set - 3635
题目大意 有n个从1..n标号的座位,按时间顺序给出每个客人来的时候是坐在第几个空座位,最后给若干个询问问第i号客人坐在哪里 分析 线段树+二分 // Fast Sequence Operations ...
- spring学习笔记---Jackson的使用和定制
前言: JAVA总是把实体对象(数据库/Nosql等)转换为POJO对象再处理, 虽然有各类框架予以强力支持. 但实体对象和POJO, 由于"饮食习惯", "民族特色 ...
- DB2中的ROW_NUMBER() OVER()函数用法
ROW_NUMBER() OVER()大概有俩方面的作用 1,分页, 并返回分页结果集.2,是对数据进行处理 分组 db2的分页: select tmp.* from ( SELECT rownu ...
- sql 语句累积
// 查询用户表 手机号对应不只一个用户的手机号列表 跟数量 (项目在运营后晚上偶尔出现 多个用户对应一个手机号的情况) select mobile,count(mobile) from go_m ...
- POJ 1195 Mobile phones(二维树状数组)
Mobile phones Time Limit: 5000MS Mem ...
- Visual C++ 设置适合自己的解决方案目录结构
Visual C++ 使用解决方案来管理项目,项目之间还可能有依赖关系,设置适合自己的解决方案目录结构,便于代码的管理.程序的发布. 下面开始一个虚拟解决方案设计: 假设此解决方案有应 ...
- Top Things to Consider When Troubleshooting Complex Application Issues
http://blogs.msdn.com/b/debuggingtoolbox/archive/2011/10/03/top-things-to-consider-when-troubleshoot ...
- memcached +mysql+php 测试例子
最近看了看memcached 缓存 mysql,经过一段时间的研究·把自己测试方法写出来,给像我一样的初学者用~我的环境是 nginx + php-fpm + apc + mysql 编译安装memc ...