zoukankan      html  css  js  c++  java
  • Linux shell入门基础(六)

    六、Shell脚本编程详解
    将上述五部分的内容,串联起来,增加对Shell的了解
    01.shell脚本
    shell:
    #
    #perl
    #python
    #php
    #jsp
    不同的脚本执行不同的文本,执行的角色是不一样的;
    #shell scripts(UNIX Like系统的原则有一条:程序越短越好)
    #bash csh tcsh ksh
    #which startx(查看文件的路径)
    /usr/X11R6/bin/startx
    #vi `which startx`
    #!/bin/sh
    ……
    #vi /etc/rc.d/rc.sysinit
    (修改系统名,颜色等属性)
    #echo $SHELL
    /bin/bash
    脚本中的#表示注释,但第一行中的#有特殊的意义:
    如:第一行字符非#,表示这是一个bash脚本
    第一行中是#,但第二个字符不是i,表示这是一个csh脚本
    第一行字符是#,且第二个字符是!,表示调用其后指定
    的/usr/bin/python2.2程序来执行以下这个脚本
    02.shell中正则表达式
    bash本身不提供正则表示式的支持,只支持通配符* ?
    正则表达式可以通过一些命令去执行,比如grep,vi,sed,awk
    比如Linux shell入门基础(二)中的介绍
    03.与shell脚本的交互
    #cd /tmp/ddd/
    #ls
    ……
    #rm -rf *
    #vi a
    #!/bin/bash
    echo $1 $1
    echo $2 $2
    echo $3 $3
    echo $# $#
    echo $? $?
    echo $$ $$
    wq
    #chmod a+x a
    #./a
    $1
    $2
    $3
    0 $#(输入多少个参数)
    0 $?
    3061 $$
    #./a aaa bbb ccc
    aaa $1
    bbb $2
    ccc $3
    4 $#
    0 $?
    3064 $$
    #vi b
    #!/bin/bash
    echo stop $1 $2ing ……
    #./b httpd stop
    http stoping……
    #read读入数据给变量
    #echo 输出数据
    #printf输出数据
    #vi a
    #!/bin/bash
    echo $1(做输入) $1
    echo $2 (做输入)$2
    echo $3 (做输入)$3
    echo $# (查看有几个参数)$#
    echo $?(shell的命令是否成功执行,不成功则,执行其他) $?
    echo $$ $$
    read -p "please input your name" AAA
    prinf "$AAA is fool"
    #./a aaa bbb ccc
    aaa $1
    bbb $2
    ccc $3
    4 $#
    0 $?
    3064 $$
    please input your name:byf
    byf is fool
    #printf " hello "
    hello
    #help printf
    #man bash
    ……
    :printf
    #printf "a"
    (产生一个声音)
    04.bash的执行方式
    1.输入脚本的绝对路径或者相对路径
    /root/bachup
    ./bachup
    2.bash脚本或tcsh及脚本,找子shell来执行
    表示以bash或tcsh来执行脚本
    bash /root/backup
    3.在脚本的路径前加“.”,表示某个路径下有一个脚本
    ../backup
    . /root/backup
    #vi b
    pstree |grep -A2 -B2 pstree
    bash--pstree
    #pstree |grep -A2 -B2 pstree
    #bash ./b
    bash--bash--pstree
    #chmod a+x b
    bash--bash--pstree
    #vi b
    export BBB=byf(将BBB设置成byf目录及子目录下的环境变量)
    wq
    #cat b
    export BBB
    #./b
    pstree |grep -A2 -B2 pstre
    #echo BBB
    #. /tmp/b(在当前shell脚本中执行)
    #. ./b
    #echo $BBB(取出BBB的变量值)
    byf
  • 相关阅读:
    PCB 奥宝LDI 输出正负片转换关系
    PCB拼板之多款矩形排样算法实现--学习
    PCB 3D PCB 后续改进与扩展功能一些想法
    PCB 周期日历
    PCB LDI文件 自动化输出(改造)实现思路
    PCB Windows远程桌面一键登录
    PCB MS SQL 排序应用---SQL相邻数据区间值求解
    PCB MS SQL 排序应用---相邻数据且相同合并处理
    SpringMVC快速入门
    linux安装jdk
  • 原文地址:https://www.cnblogs.com/baiyifan/p/5264504.html
Copyright © 2011-2022 走看看