shell
做一个快乐的吃货
从今天起开始写博客,把自己知道的知识分享给大家
展开
-
如何设置单核测试
如何设置单核运行原创 2024-07-15 18:04:55 · 255 阅读 · 1 评论 -
shell脚本调试
shell脚本调试有两种方法:一、/bin/bash -x 脚本二、在shell脚本中添加set -x;在需要调试结束的地方添加set +x——————————————————————————————————————-——————set 常用参数:set -x会在执行每一行 shell 脚本时,把执行的内容输出来。它可以让你看到当前执行的情况,里面涉及的变量也会被替换成实际...原创 2019-12-26 13:41:33 · 719 阅读 · 0 评论 -
shell脚本中数组的使用
1.数组的基本用法引用数组的形式:${arry[x]} #!/bin/bash city=(nanjing beijing jinan zibo linyi)echo "city[0]=${city[0]}"echo "city[1]=${city[1]}"echo "city[2]=${city[2]}"echo "city[3]=${city[3]}"echo "c原创 2016-05-27 11:34:59 · 2668 阅读 · 0 评论 -
shell中的空格有事不能缺少
shell 一般简单好用,但是也有一点小细节不注意就会出错,空格就是其中一个1.在shell脚本中并没有规定必须缩进几个字符,我们缩进4个或8个字符是为了我们更方便阅读代码2.在运算符的两边我们也习惯留一个空格,这样看起来很清晰,但是赋值运算符"=",其左右不能加空格,否则会发生不必要的错误3.在if语句中,if与[之间要有空格,同时if [ name == "beijing" ]原创 2016-05-27 15:06:53 · 3944 阅读 · 0 评论 -
shell常用基本命令之七 shift
1.shift的功能1.所有的位置参数都左移1位,即$2变$1,$3变$22.$# 减12.举例[root@nn shell]# cat shift_fun.sh#!/bin/bash echo "number of arguments is $#"echo "What you input is:"while [[ "$*" != "" ]]do echo "$1原创 2016-05-27 15:41:24 · 1018 阅读 · 0 评论 -
shell 常用命令之四 sed
sed 可以 对文本文件和标准输入进行编辑(键盘输入、文件重定向、字符串、变量、管道文本)。值得注意的是:sed只是对缓冲区中原始文件的的副本进行编辑,并不编辑原始的文件命令格式:一、选项-n:不打印所有的行到标准输出-e:表示键下一个字符串解释为sed 编辑命令-f:表示正在调用sed文本二、sed命令定位文本的方法x :x为指定行号x,y原创 2015-12-11 10:03:56 · 384 阅读 · 0 评论 -
shell常用命令之五 awk
一、调用awk的三种方式调用awk的方法跟sed类似,也有三种方式。第一种: 在shell命令行输入命令调用awkawk [-F 域分割符] ‘awk程序段’ 输入文件[root@nn shell]# awk '/^$/{print "This is a blank line."}' file //在正则表达式中^$表示空白行 This原创 2016-05-17 14:03:19 · 326 阅读 · 0 评论 -
I/O 重定向
1.cmd1 | cmd2 管道符,将cmd1的标准输出作为cmd2的标准输入2.>filename 将标准输出写到filename文件中,若该文件已存在,则将原来的内容覆盖掉[root@nn shell]# lsa b input scr.awk[root@nn shell]# cat >file1the world is wonderful![root@nn原创 2016-05-17 14:48:00 · 319 阅读 · 0 评论 -
shell脚本的调试(trap、tee、shell选项)
shell脚本的调试,主要有4种:trap命令、tee命令、调试钩子和shell选项一.使用trap命令1.基本格式trap command sig1 sig2....功能描述:trap命令收到指定信号sign(EXIT,ERR,DEBUG)时,执行command2.shell脚本的三种“伪信号”“伪信号”是因为这三个信号是由Shell产生的,其他的信号都是由操作系统产生原创 2016-05-31 11:37:02 · 2720 阅读 · 0 评论 -
shell 数组的定义 和 数组的长度
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: array_name=(value1 ... valuen)例如:array_name=(value0 va转载 2016-09-21 15:46:33 · 3140 阅读 · 0 评论 -
在 Shell 脚本中调用另一个 Shell 脚本的三种方式
先来说一下主要以下有几种方式:fork: 如果脚本有执行权限的话,path/to/foo.sh。如果没有,sh path/to/foo.sh。 exec: exec path/to/foo.sh source: source path/to/foo.shforkfork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调用 foo.sh 这个脚本,比如如果是 f...转载 2018-08-13 09:58:39 · 3031 阅读 · 0 评论 -
shell 中的各种括号
一、双圆括号,即((...))作用1:使变量执行算术运算#!/bin/basha=10b=20c=$((a*b))echo "c=$c"[root@nn ~]# ./test.sh c=200作用2:使bash shell 实现C语言风格的变量操作,包含5种1.首先是C语言风格的赋值,C语言允许赋值号两端存在空格,但是在shell中是不允许的原创 2016-05-05 17:41:20 · 464 阅读 · 0 评论 -
shell 脚本中常用的列表
列表是由与运算(&&)和或运算(||)连接而成,用与连接的列表叫与列表(add list) 命令1 && 命令2 && 命令3..... 命令1 || 命令2 || 命令3.....原创 2016-05-27 10:53:10 · 3654 阅读 · 0 评论 -
目录栈 pushd / popd
[root@nn home]# pushd /home//home /home /home/zhangna/learn_test[root@nn home]# dirs/home /home /home/zhangna/learn_test[root@nn home]# pushd /root~ /home /home /home/zhangna/learn_test[root@nn原创 2016-05-03 15:21:02 · 1504 阅读 · 0 评论 -
shell 常用命令之一ln
今天用到 ln命令,突然想起之前面试的时候有道题问我什么是软链接和应链接,当时不会,工作后用到了,自然就会了原创 2015-12-09 15:27:59 · 616 阅读 · 0 评论 -
shell 正则表达式
在说正则表达式之前,先说两个概念。元字符:元字符简单的说就是描述字符的字符正则表达式:用一串字符和元字符构成的字符串。下面就具体说一下正则表达式元字符的意义:1. “*”用于匹配前面一个普通字符的0次或多次hel*o :*就表示匹配l字符的0次或多次,如helo、hello、helllo等2. “.” 用于匹配一个任意字符hell. :可以代表hello、hell原创 2015-12-10 11:44:28 · 554 阅读 · 0 评论 -
shell 常用命令之二 find
一、find命令的功能是: 在指定路径下查找文件二、find命令的基本格式:find [路径] [选项] [操作]三、find 命令常用的选项:name :根据文件名查找文件perm :根据文件的权限查找文件prune原创 2015-12-10 10:20:36 · 963 阅读 · 0 评论 -
shell 常用命令之三 grep
1.grep的一般格式:grep [选项] [模式] [路径]2.选项-r :递归搜索,不仅搜索当前工作目录,而且搜索子目录-i:忽略大小写-c:只输出匹配行的数量-h:查询多文件时不显示文件名-l:只列出符合匹配的文件名,而不列出具体的匹配行-v:显示不包含匹配文本的所有行-n :列出所有的匹配行,并显示行号-E:支持扩展的正则表达式-F:不支持正则原创 2015-12-10 14:45:58 · 313 阅读 · 0 评论 -
shell if [ -d filename]
shell 中经常出现一些判断条件,像-p 、-n等原创 2015-11-19 11:31:50 · 439 阅读 · 0 评论 -
linux中shell变量$#,$@,$0,$1,$2的含义
关于shell中特殊变量$#、$@、$!、$?、$1等的含义原创 2015-11-03 09:54:21 · 455 阅读 · 0 评论 -
shell中的3种for循环结构
shell中的for 循环与在c中不同,它包含三种形式:第一种结构是列表for 循环;第二种结构就是不带列表的for循环;第三种就类似于C语言1.列表for循环for var in {list}do 循环体done例子:for i in {1,2,'num'}do echo $idone其结果1 2 'num'在此详细说几种算奇数和的方法:for原创 2015-12-14 14:02:30 · 3933 阅读 · 0 评论 -
shell测试结构及条件表达式的写法
此篇文章是关于条件表达式中一些常用的书写方式原创 2015-12-14 11:04:33 · 507 阅读 · 0 评论 -
>/dev/null 2>&1
shell中可能经常能看到:>/dev/null 2>&1命令的结果可以通过%>的形式来定义输出/dev/null 代表空设备文件> 代表重定向到哪里,例如:echo "123" > /home/123.txt0 表示stdin标准输入,系统默认值是01 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"2 表转载 2016-02-18 18:26:25 · 504 阅读 · 0 评论 -
shell常用命令之六 alias
1.alias的功能设置一个别名,即为一个长命令起一个新的名字2.alias的基本格式alias alias_name='origin_command'alias是指定别名命令的关键字alias_name 是用户指定的别名origin_command 是以空格分割的字符串注意:等号两边不能有空格3.alias命令行上的使用举例[root@nn learn_t原创 2016-05-27 10:34:44 · 1483 阅读 · 0 评论 -
shell 通配
bash命令解释器本身并不支持正则表达式,但是可以利用正则表达式中的元字符实现通配。值得注意的是:元字符在通配中的意义与在正则表达式中的意义并不完全一致。*:在通配符中表示任意位的任意字符,在正则表达式中则表示其前面字符重复0次或多次?:表示一个任意字符,^:表示取反,而在正则表达原创 2015-12-10 11:49:45 · 978 阅读 · 0 评论