shell中的命令与特殊符号】的更多相关文章

1.记录命令:! !!:连续的“!”表示执行上一次的指令 !n:表示执行命令历史中第二条指令 注:!2居然给我关机了 !字符串(字符串大于1)表示执行命令历史中最近的一次 2.通配符 " * "匹配0个或多个字符,“ ? ”匹配一个字符 3.输入/输出重定向:用于改变命令的输入与输出 4.管道符 “ | ” 前一个指令的输出作为后一个指令的输入 5.脱义子符" \ " 将后面的特殊字符(如 * )还原为普通字符 6.grep:全面搜索正则表达式并把行打印出来 7.p…
原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S' 2015-01-19 16:24:58 把javascript 中的Date object 格式化成适合的字符串,很不方便,模拟shell中的格式 下面先用3段简单的代码来说明模拟函数中用到的特性 字符串的replace var a = '1234' undefined a.replace('1…
test命令用法.功能:检查文件和比较值 shell中test命令方法详解 原文:https://www.cnblogs.com/guanyf/p/7553940.html 1)判断表达式 if test  (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2                  两个表达式都为真 test 表达式1 –o 表达式2                 两个表达式有一个为真 2)判断字符串 test –n 字符串               …
当你在shell命令行输入一条命令时,shell的搜寻顺序是如何的呢?当你的脚本名字和shell中的函数名字重名,shell是如何决定运行哪一个的? 在shell中,shell对于命令的搜寻优先级为: 1 Alias 2 keyword,如if 3 Function 4 Built-in,如cd 4 PATH中的脚本以及可运行程序 在shell中,有3个命令command,built-in,enable是专门来解决这种重名问题的. command command使shell只在Built-in以…
test可用于测试表达式,支持测试的范围包括:字符串比较,算术比较,文件存在性.属性.类型等判断.例如,判断文件是否为空.文件是否存在.是否是目录.变量是否大于5.字符串是否等于"longshuai".字符串是否为空等等.在shell中,几乎所有的判断都使用test实现. 其中[]完全等价于test,只是写法不同.双中括号[[]]基本等价于[],它支持更多的条件表达式,还允许在双中括号内使用逻辑运算符"&&"."||"."…
wait命令介绍 wait [作业指示或进程号] 1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态.如果没有制定参数,则等待所有子进程的退出,其退出状态为0. 2.如果是shell中等待使用wait,则不会等待调用函数中子任务.在函数中使用wait,则只等待函数中启动的后台子任务. 3.在shell中使用wait命令,相当于高级语言里的多线程同步. 语法 wait(参数)   使用 wait 是在等待上一批或上一个脚本执行完(即上一个的进程终止),再执行wait之后的…
shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中.当 $? == 0 时,表示执行成功:当 $? == 1 时,表示执行失败.  有时候,下一条命令依赖前一条命令是否执行成功.如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等.shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行.  &&(命…
这里记录的是在一个shell脚本里面使用. ./file.sh 和./file.sh 的区别,本文参考了http://www.lslnet.com/linux/dosc1/39/linux-283534.htm (这个蓝森林的东西应该是来源于chinaunix) 来个小实验场景一:vi file1.sh./file2.shecho $NIVEK vi file2.shNIVEK=goupiexport NIVEK chmod 755 file1.sh file2.sh $./file1.sh  …
set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值.set命令不能够定义新的shell变量.如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可. -a:标示已修改的变量,以供输出至环境变量. -b:使被中止的后台程序立刻回报执行状态. -C:转向所产生的文件无法覆盖已存在的文件. -d:Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行.使用-d参数可取消. -e:若指令传回值不等于0,则立即退出shell. -f:取消使用…
在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下我们列出一些常用的通配符喔: 符号 意义 * 代表『 0 个到无穷多个』任意字符 ? 代表『一定有一个』任意字符 [ ] 同样代表『一定有一个在括号内』的字符(非任意字符).例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』 [ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』.例如 [0-9] 代表 0 到 9…
用‘grep’搜索文本文件如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令.‘grep’在文本中搜索指定的字符串.举个例子:假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件: $ grep magic /usr/src/linux/Documentation/*sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the magi…
read命令 -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显) 1.基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说).得到输入后,read命令将数据放入一个标准变量中.下面是read命令的最简单形式: #!/bin/bash echo -n "Enter your name:" //参数-n的作用是不换行,echo默认是换行 read name //从键盘输入 echo "hello $name,welcome to my…
test命令用法.功能:检查文件和比较值 1)判断表达式 if test  (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2                 两个表达式都为真 test 表达式1 –o 表达式2                 两个表达式有一个为真 2)判断字符串 test –n 字符串                        字符串的长度非零 test –z 字符串                        字符串的长度为零 test…
1.find中的-exec参数 在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行 find ./ -name "*.txt" -exec grep "bin" {} \; 在当前目录下(包含子目录),删除所有txt文件 find ./ -name "*.txt" -exec rm {} \; Execute  command;  true  if 0 status is returned.  All…
shell脚本中如何取上个月的月份呢?很容易能想到下面的命令: date +%Y%m -d '-1 month' 或者 date +%Y%m -d 'last month'   在大部分情况下这个命令运行正确.但是有些情况下这个命令会出现问题,比如当前日期是3月30.3月31.5月31等的时候,上面的命令得到的结果还是当月,而不是我们期望的上月.   这个问题是怎么产生的呢?比如当当前日期是5月31时,-1 month它只是将月份-1,就得到4月31,但是实际上4月只有30天,所以4月31就被转…
原文:http://www.cnblogs.com/xdzone/archive/2011/03/15/1984971.html 语法:eval cmdLine eval会对后面的cmdLine进行两遍扫描,如果第一遍扫描后,cmdLine是个普通命令,则执行此命令:如果cmdLine中含有变量的间接引用,则保证间接引用的语义.   举例如下: set 11 22 33 44 如果要输出最近一个参数,即44,可以使用如下命令, echo $4 但是如果我们不知道有几个参数的时候,要输出最后一个参…
变量 声明即用 a=2 b="123" 调用 ${varName}或者 $varName echo $b echo ${a} 常见变量 $?:判断上一个语句是否成功 $0:执行脚本文件名称 $1:第1个参数 $n:第n个参数 $*:参数分别是什么 $#:参数个数 示例 demo1.sh echo "脚本文件名称:$0" echo "第1个参数:$1" echo "所有的参数:$*" echo "参数个数:$#&quo…
上午登录服务器编译运行服务端程序的时候,学到了在命令后加上字符“&”后,退出shell,运行的命令可以继续运行.不解原因,并到网上搜索了以下,明白了点! 以下是搜索到的片段: & 放在启动参数后面表示设置此进程为后台进程 默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的. 如: tianfang > run &    [1] 11319t…
转载自:http://blog.chinaunix.net/uid-24958038-id-3416169.html dd if=/dev/zero of=的含义是什么? 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. if=文件名:输入文件名,缺省为标准输入.即指定源文件.< if=input file > 2. of=文件名:输出文件名,…
好久不用shell了,今天碰到一个坑,发现exit后,shell脚本还会运行. $JAVA_HOME/bin/jps | while read RES do PID=`echo $RES | awk '{print $1}' ` NAME=`echo $RES | awk '{print $2}' ` if [ $NAME = 'Jps' ]; then continue fi GC_OLD_PERC=`$JAVA_HOME/bin/jstat -gcutil $PID|sed -n '2p'|…
eval命令妙用--变量嵌套替换 eval命令在Linux下的应用非常广泛,在写脚本的时候遇到一个变量嵌套的问题,用eval迎刃而解,略试不爽啊. var1="hello" i=1 #有时候i需要放在循环里,所以实际应用中有意义 what=var${i} temp=what echo $temp #打印出what eval temp=$(echo \$$what) echo $temp #打印出hello 究其原因在于eval替换表达式中的变量再做运算. 更多eval用法见下: eva…
在shell中有很多种命令的同义词,到底先执行的是哪一个命令呢,我们可以借助type -a命令来检查. 为了测试我们就对type本身做一条alias: alias type=type 然后我们通过type -a type查看一下,结果如下: type -a type type is aliased to `type' type is a shell builtin type is /usr/bin/type 可以清楚地看到,对于命令来说首先执行的是alias,然后是shell内嵌的命令,最后才是…
原文链接为:http://blog.sina.com.cn/s/blog_963453200102uya7.html & 放在启动参数后面表示设置此进程为后台进程 默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的. 如: tianfang > run & [1] 11319 tianfang > ./game.e 1 & 进程切换到…
declare命令有如下选项: -a 声明一个数组 -i 声明一个整型 -f 打印所有函数定义 -F 仅打印函数名字 -r 声明一个readonly变量,该变量的值无法改变,并且不能为unset -x 和export的作用类似 例子: #!/bin/bash func() { echo This is a function } declare -f            //列出上面的函数 echo echo "var declare as $var" var=123.23 //将已声…
uname命令 描述 用于打印内核名称和版本.主机名等系统信息. 用法 uname [OPTION]... 参数     用法 -a print all information -s print the kernel name -n print the network node hostname -r print the kernel release -v print the kernel version -m print the machine hardware name -p print t…
sed -i '/cd ${LDIR_DEST}\/webextend\/pc && ln -s \/hard\/www_winclient\/bboxpc.exe ./a\ \tcd ${LDIR_DEST}\/webextend\/pc && ln -s \/hard\/www_winclient\/'$i' .' #參考别人后自己改的,主要是加了个变量 sed -i '4i dfsdfdsad' xxx.txt #Insert contents between the…
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] ? 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/expect…
引用符号在解析器中保护特殊元字符和参数扩展,其使用方法有3种:反斜杠(\),单引号(’‘),双引号(“”). 单引号和双引号必须匹配使用,均可在解析器中保护特殊元字符和通配符,但是单引号(硬转义)主要用于信息的原样输出,防止任何变量的扩展,双引号(软转义)允许变量扩展.转义符和命令替换.单引号保护双引号,双引号保护单引号. 1. 反斜杠 反斜杠通过解析器将1个字符转化为引用符号或转义. 1)在单引号内使用反斜杠,反斜杠不会被解析,保持原样输出. 2)在双引号内使用反斜杠,主要用于美元符号($),…
一:通配符 * 代表『 0 个到无穷多个』随意字符 演示样例:找出 /etc/ 底下以 cron 为开头的文件名称的文件 [root@instructor Desktop]# ls /etc/cron* /etc/cron.deny  /etc/crontab /etc/cron.d: 0hourly  raid-check  sa-update  sysstat /etc/cron.daily: 00webalizer  cups       makewhatis.cron  prelink …
使用set命令可以设置各种shell选项或者列出shell变量. 单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开. 在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显示shell的全部变量. 除非遇到非法的选项,否则set总是返回ture.当BASH shell被调用时,可以列出全部的选项. 当前的选项集列在$-中. 在option参数被处理后,其他的参数被赋值到位置参数中(,,...,$n) 格式 set [--abefhkmnptuvxldCHP] [-…