一、什么是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.添加一个用户输入的用户,并要求用户名和密码一样。
3.添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加并且密码和用户名一样。
4.输入一个用户名,如果用户存在,当输入U|u时,显示用户的uid;当输入G|g时,显示用户的gid;当输入S|s时,显示用户的shell;当输入Q|q时,退出;输入其他字符则提示重新输入以上字符。如果用户不存在,则显示”come on“,并退出。