设为首页 加入收藏

TOP

Shell 脚本常用命令(四)
2017-10-16 18:18:53 】 浏览:7498
Tags:Shell 脚本 常用 命令
会再被执行。

  9.5   fork

  9.5.1     将此命令的参数,新建一个进程来执行

    例如:在a.sh 中包含

    fork b.sh 则当a.sh 执行到此句后,被b.sh替换,a.sh中此句后的语句继续执行。b.sh在新的进程中同时执行。

  9.6 expr

  9.6.1     expr argument operator argument

  9.6.2     一般用于整数的运算。 例如:

    #set newval=1

    #echo $newval

    1

    #set newval=`expr $newval + 1`

    #echo $newval

    2

    #set newval=$newval+1

    #echo $newval

    2+1

  9.7  test

  9.7.1     测试,通常用在需要判断的语句后面,例如:if,while,等等。

  9.7.2     很多时候可以和中括号[]互换,我不知道区别是什么。

  9.7.3     例子:    

i=1
if test”$ i” == “1then
    echo true
else
    echo false
fi

  9.8  exit

    退出当前的shell,执行结果可以在shell中用$?查看

    例如:exit 2

  9.9  read

    从标准输入读取数据。

    例: 

$ read var1 var2 var3 
Hello my friends 
$ echo $var1 $var2 $var3 
Hello my friends 
$ echo $var1 
Hello

  9.10  shift

  9.10.1     每次调用的时候,将参数列表中的第一个参数去掉。这样可以循环得到第一个参数。

  9.10.2 例子:

cat t.sh
sum=0
until [ $# -eq 0 ]
do
    echo $*
    sum=`expr $sum + $1`
    shift
done
echo result is: $sum
#./t.sh 1 2 3
1 2 3
2 3
3

  11、附件:Linux 易被遗漏的命令解析

  11.1  grep

  11.1.1  grep ‘string’ filename

  11.1.1.1e.i.: grep ‘list’ mytxt.txt 在mytxt.txt中寻找包含list字符串的所有行

  11.1.2   “-v” : 相反的。 即不包含字符串。

  11.1.2.1e.i.: grep –v ‘list’ mytxt.txt

  11.1.3   cat mytxt | grep ‘list’

      将cat mytxt作为源, 从中查找包含list字符串的行

  11.2       find

  11.2.1   -atime n : 指查找系统中最后n*24小时访问的文件;

  11.2.2   -ctime n : 指查找系统中最后n*24小时被改变状态的文件;

  11.2.3   -mtime n : 指查找系统中最后n*24小时被修改的文件。

  11.2.4   在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行
     find ./ -name "*.txt" -exec grep "bin" {} \;

  11.2.5   在当前目录下(包含子目录),删除所有txt文件
     find ./ -name "*.txt" -exec rm {} \;

  11.3       du

  11.3.1   显示文件的大小

  11.3.2 i.e.

    #du *.txt

    1230   myfile1.txt

    456    myfile2.txt

  11.4       awk

  11.4.1  提取输入中的某个参数

  11.4.2  提取输入中每一行的第一个参数

        #echo `du *.txt | awk ‘{print $1}’`

        1230 456

        提取子字符串

        #echo `du *.bin | awk '{print substr($1,2,3)}'`

  11.5       前后台运行

  11.5.1    将某个程序在后台启动起来,只需要在命令的最后加上 & 符号。

      例如: ./test.sh &

  11.5.2    将当前正在运行的程序切换到后台

  11.5.2.1 当按下^z的时候,当前的应用程序就会切换到后台,但是此时的状态是停止的状态。

  11.5.2.2 使用jobs命令可以看到当前在后台运行的程序的列表。

      例如:jobs

        [1]+ stopped top

        [2]+stopped find | grep *.txt > a.log

  11.5.2.3 使用bg命令可以将某个后台程序继续运行。

      #bg %2

      #jobs

      [1]+ stopped top

      [2]+ Running find | grep *.txt > a.log

  11.5.3  将后台运行的程序切回到前台

      #fg %2

      将find 命令切回到前台

  11.6  shell的执行选项

-n 测试shell script语法结构,只读取shell script但不执行 
-x 进入跟踪方式,显示所执行的每一条命令,用于调度 
-a Tag all variables for export 
-c "string" 从strings中读取命令 
-e 非交互方式 
-f 关闭shell文件名产生功能 
-h locate and remember functions as defind 
-i 交互方式 
-k 从环境变量中读取命令的参数 
-r 限制方式 
-s 从标准输入读取命令 
-t 执行命令后退出(shell exits) 
-u 在替换中如使用未定义变量为错误 
-v verbose,显示shell输入行

  11.7       alias

    建立别名

    alias dir ls

  11.8  xargs

    执行本命令的第一个参数,并将xargs的输入作为被执行命令的参数

    例如:

      find . -name '*.c' | xargs cat

    将本目录及其子目录下所有的C文件使用cat命令显示其内容。

  12、附件:Bash中影响环境变量的命令

     Shell有若干以变量为工作对象的命令,其中有些命令似乎重复了。例如,可以用declare、export和typeset命令来创建全局(或转出)的变量。typeset命令是declare的同义词。

  Declare 命令

     语法:declare [options] [name [= value]]

    摘要:用于显示或设置变量。

    declare命令使用四个选项:

-f   只显示函数名
-r   创建只读变量。只读变量不能被赋予新值或取消设置,除非使用declare或者typeset命令
-x   创建转出(exported)变量
-i   创建整数变量。如果我们
首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇centos7下git安装及使用(Capistr.. 下一篇在ubuntu16.04中一键创建LAMP环境

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目