一、什么是shell?

    Shell 是核心程序(kernel)之外的指令解析器,是一个程序,同时是一种命令语言和程序设计语言。同传统的编程语言一样,shell提供了很多特性,这些特性可以使你的shell script编程更为有用,如:数据变量、参数传递、判断、流程控制、数据输入和输出,子程序及以中断处理等。

   在linux中有好几种shell,例如:bsh、csh、ksh、bash等,最常用的则是bash,因此本篇文章将围绕bash展开叙述。

   先说说bash中的变量,有:本地变量、环境变量、位置变量、特殊变量等。这么多种变量该如何查看呢?看看下面的命令吧!

   #set        查看所有变量

   #export     查看所有环境变量

   #printenv   查看所有环境变量

   那变量又该如何命名呢?命名变量该遵循哪些规则呢?

   1.变量名只能包含字母、数字、下划线,并且只能以下划线或字母开头;

   2.尽可能避免使用系统已用变量。

   bash脚本写好了,又该如何执行呢?看看下面的命令。

   bash -n bashname(脚本文件名) 检查bash脚本的语法错误。

   bash  basename(脚本文件名)  执行脚本。

   bash  -x  bashname   显示脚本执行的详细过程。

例:有一个脚本file.sh,想看看脚本执行的详细过程。

#bash -n file.sh  

#bash -x file.sh

bash脚本支持数字运算、逻辑运算以及if、case、for、until、while语句,当然还支持函数。当然,bash脚本支持好多运算以及语句,由于本人水平有限,只能说这么多了。

   先来看看一个简单的脚本

 #!/bin/bash    #解释用的是什么shell

#

#print "Hello world"

a="hello world"

echo ${a}

该脚本执行后的结果:hello world,前面带“#”的则是解释性的语句。

   下面是实例。

   1.求100以内的正整数的和。

   第一种方法:(for语句)                 

#!/bin/bash

#

#

declare -i SUM=0

for I in {1..100};do

SUM=$[$SUM+$I]

done

echo "The sum is:$SUM"

   第二种方法:(while语句)

 #!/bin/bash

#

#

declare -i SUM=0

declare -i NUM=1

while [$NUM -le 100];do   #其中“-le”是”小于等于“的意思。

let SUM+=$NUM

let NUM++

done

echo "The sum is:$SUM"

   第三种方法:(until语句)

 #!/bin/bash

#

#

declare -i SUM=0

declare -i NUM=1

until [$NUM -gt 100];do   #其中“-gt”是”大于“的意思。

let SUM+=$NUM

let NUM++

done

echo "The sum is:$SUM"

   2.添加一个用户输入的用户,并要求用户名和密码一样。

linux初级shell脚本编写_第1张图片

 

   3.添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加并且密码和用户名一样。

linux初级shell脚本编写_第2张图片

   4.输入一个用户名,如果用户存在,当输入U|u时,显示用户的uid;当输入G|g时,显示用户的gid;当输入S|s时,显示用户的shell;当输入Q|q时,退出;输入其他字符则提示重新输入以上字符。如果用户不存在,则显示”come on“,并退出。

linux初级shell脚本编写_第3张图片