快速学习shell脚本语言

来源:互联网 发布:godaddy域名绑定ip 编辑:程序博客网 时间:2024/05/14 19:37

参考博客: http://see.xidian.edu.cn/cpp/view/6994.html

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支.

Shell有两种执行命令的方式:

  • 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
  • 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。

Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。

Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。

我们常用的linux中shell脚本解释器是bash

bash---linux

sh---unix

csh---linux中的tcsh

编译型语言: Fortran  Ada   Pascal  C C++  Java

解释型语言: awk、Perl、Python、Ruby与Shell,执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行


开始写shell脚本语言

定义变量:  e.G 直接写变量名和value,中间不需要空格

my_name="DongHaifeng"  注意: 变量名开始必须为字母,中间可以有下划线

只读变量:readonly my_name

输出变量时需要用$: echo $my_name

删除变量: unset my_name

运行shell脚本时有三种变量:  局部变量, 环境变量 , shell脚本变量

#用来注释语句

计算函数: expr

  1. #!/bin/bash
  2. val=`expr2+ 2`
  3. echo "Total value : $val"


shell字符串

$*输出所有的字符

$@ 输出所有的字符 ,单个输出

$#求字符串的长度

数组  array_num=(1 2 3 4)

value1=${array_num[2]} 取出单个元素

if else fi

case $num in

1)

;;


for a in 1 2 3 4

do

done


while[$count -lt 5]

 sum=(($a + $b))


until[$count -eq 4]

......


break  continue都可以在shell中书写

shell函数:

func1(){
sum=0
for a in 1 2 3 4
do
   for b in 1 2 3 4
   do
   sum=`expr $sum + $a + $b`
  
   done
done
return $sum
}

func1

ret=$?

echo "func1 is: $ret"


重定向:

abcdef > test.sh输出重定向

abcdef<test.sh输入重定向


shell文件包含:  一个shell中嵌套另一个shell执行文件   

例如:

subscript.sh 嵌套在main.sh中

subscript.sh:   url="http:---------------"

#!bin/bash

. ./subscript.sh

echo $url


0 0
原创粉丝点击