首页 > 系统服务 > 详细

shell脚本编程

时间:2019-11-19 22:24:05      阅读:87      评论:0      收藏:0      [点我收藏+]

                                                                                   Shell脚本编程

1.    shell简介

 功能

(1)如图所示,shell相当于一个命令解释器--外层应用编译好的程序通过shell将命令转换为机器语言,然后再调用内核执行,执行完之后再返回结果给shell,shell再将结果(机器语言)转换为我们所能看懂的结果集合。

                                                         技术分享图片

 

 

 

   (2) shell给用户提供了一个可以敲命令/程序的操作界面

  

  环境

   Bash:简单易用,便捷通过历史命令。

 

 

 2.    第一个shell脚本(Hello World

(1)创建并编写:vi test.sh       #vi是打开文本编辑器 sh是扩展名

#!/bin/bash      

echo "Hello World !"     echo 命令用于向窗口输出文本。

#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种shell

 

 

(2) 运行(两种方式)

   1.赋可执行权并执行:chmod +x ./test.sh  #使脚本具有执行权限 ./test.sh #执行脚本

   2.命令执行:/bin/sh test.sh

 

 3.    shell变量

(1)      命名规则

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

中间不能有空格,可以使用下划线(_)。

不能使用标点符号。

不能使用bash里的关键字(可用help命令查看保留关键字)。

        例如:A=123   #A为变量名   123为变量值                         

        $A       #引用变量                                                           

 

(2)  变量类型  (运行shell时,会同时存在三种变量

  • 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  • 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  •  shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

 

 

 

4.Shell流程控制

if

if condition

then

    command1

    command2

    ...

    commandN

fi

 

if else

if condition

then

    command1

    command2

    ...

    commandN

else

    command

fi

 

if else-if else

if condition1

then

    command1

elif condition2

then

    command2

else

    commandN

fi

for 循环

for var in item1 item2 ... itemN

do

    command1

    command2

    ...

    commandN

done

 

while 语句

while condition

do

    command

done

 

until 循环

until condition

do

    command

done

 

case

Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。

case 值 in

模式1)

    command1

    command2

    ...

    commandN

    ;;

模式2)

    command1

    command2

    ...

    commandN

    ;;

esac

 

 

 

 5.   Shell 输入/输出重定向

大多数linux 系统命令从你的终端接受输入并将所产生的输出发送回??到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。

描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR

 

输入重定向

command1 < file1

这样,本来需要从键盘获取输入的命令会转移到文件读取内容。

 

输出重定向

command1 > file1

上面这个命令执行command1然后将输出的内容存入file1。

注意任何file1内的已经存在的内容将被新内容替代。如果要将新内容添加在文件末尾,请使用>>操作符。

shell脚本编程

原文:https://www.cnblogs.com/huangdandan/p/11892833.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!