Shell:
Shell 是指操作系统提供给用户使用的界面,它接收用户输入的命令,并将其解释为操作系统能够理解的指令来执行相应的操作。
示例代码 + 注释:
#! bin/bash # 必须写的 命令行显示器所在位置
cp -Rrf shell.sh ./wll.sh #复制 -选中的项目
cmd1=$? #可得到上个程序是否执行成功 (非零为执行失败)echo=cmd1 #打印出执行结果
#! bin/bash #同上
read num1 num2 num3 #从键盘读取输入
echo "$num1 - $num2 - $num3" #打印结果
#! bin/bash
read num1 #同上
[ $num1 -ge 0 -a $num1 -le 60 ] #num1 的值是否 大于等于 0 && 小于等于 60
echo $? #是则打印0 否则为任意数
#! bin/bash
i=1 #对 i 进行初始化
sum=0 # 初始化
while [ $i -le 100 ] #当 i 的值小于100 时进行循环
do #格式要求
((sum=sum+i))
((i=i+1))done
echo "sum=$sum" #打印结果 为5050 1+2+3-------+100
#! bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
sum=$(expr $sum + $i) #或 sum = `expr $sum + $i` 进行原样替换
i=$(expr $i + 1)done
echo "sum = $sum"
#! bin/bash
path="/mnt/hgfs/share"
read asd #从标准输入读取if [ -f $path/$asd ] #如果 asd 是文件名称 则 为真执行then
then #若为真 执行
echo "input is del?"
read cdv
case $cdv in
"y"|"yes")
rm $path/$asd
echo "edl success" #若有这个文件则选择是否删除
;; #相当于C语言中的 break
*)
echo "no del"esac #case 语句的结束标志
exit
else
touch $path/$asd #若无则创建这个文件
echo "new success"
fi # if 语句的结束标识
#! bin/bash
i=1
if [ $# -eq $2 ] #如果命令行参数的数量 大于 第二个参数的值
then
while [ $i -le $2 ] # -el 小于
do
touch $1_$i.txt
i=`expr $i + 1`
done
exit
else
while [ $i -lt 5 ]
do
touch $1_$i.txt
i=`expr $i + 1`
done
exit
fi
#! bin/bash
path="/mnt/hgfs/share/day12"
read asd
if [ -f $path/$asd ]
then
echo "error"
else
$path/$asd|ls -l|wc -l>dln.kl #将文件中的内容 传给dln.kl
echo "`cat dln.kl`" #显示dln.kl 中的内容
fi
exit
#! bin/bash
#path="/mnt/hgfs/share" #注释
#read asd
if [ -f $1/$2 ]
then
echo "error" #如果为文件 则打印错误 然后退出
else
#list=`ls`
i=0
a=0
cd $1/$2
#list=`ls`
echo `ls`|wc -w #查看当前目录下的所有文件及目录
for filename in `ls` #for 循环格式 for 变量名 in 单词表
do
if [ -d $filename ]
then
a=`expr $a + 1`
fi
i=`expr $i + 1` #计数
done
echo "dec_num=$a"
i=`expr $i - $a`
echo "fil_num=$i"
exit
fi
#! bin/bash
path="/mnt/hgfs/share"
read asdif [ -f $path/$asd ]
then
echo "asd"
ls -l $path/$asd
else
echo "Good Study">>asd.jkl #为非文件 向asd.jkl 重定向输入Good Study
fi
exit
#! bin/bash
echo -n "input number:"
read num1 num2result=$(expr $num1 + $num2) #计算
echo "$num1 + $num2 = $result" #打印结果result=$(expr $num1 - $num2)
echo "$num1 -$num2 = $result"result=$(expr $num1 \* $num2) #乘法在计算时 需要用 \*
echo "$num1 * $num2 =$result"result=$(expr $num1 / $num2)
echo "$num1 / $num2 =$result"
#! bin/bash
read score
if [ $score -gt 100 -o $score -lt 0 ] #如果 输入的 分数大于 100 或 小于0
then
echo "error" #打印错误
elif [ $score -ge 90 ]
then
echo "outstanding"
elif [ $score -ge 80 ]
then
echo "good"
elif [ $score -ge 60 ]
then
echo "pass"
else [ $score -lt 60 ]
echo "no pass"fi
exit
#! /bin/bash
num=(1 2 3 45 "asd fg") #定义数组 中的元素
echo ${num[4]} #打印第五个元素
echo ${num[@]} #打印全部元素echo ${#num[@]} #打印长度
num[6]=34 # 添加元素
num[8]="hhhjj"
unset num #删除数组
echo ${num[@]}echo ${#num[@]}
declare -A students #关联数组的声明
students=([sd]="sffdd" [fg]="fhhgg") #给数组中的元素赋值
echo "${students[sd]}" #打印 sd 对应的元素
echo "${students[@]}" #查看所有元素
echo "${!students[@]}" #可打印出 sd fgecho "ssssssssssssssssssssssssss"
array=(7 "sdsdsad" "sdsds" "sssssssss")
i=0
num=${#array[@]} #元素个数
while [ $i -le $num ]
do
asd=${#array[i]} #元素长度
if [ $asd -ge 6 ]
then
echo ${array[i]} #打印出元素中的字母长度>=6 的元素
fi
i=`expr $i + 1`done
#! /bin/bash
fun() #函数
{
echo "fun is " #输出结果 fun is
res=`ls | wc -w` #查看但当前目录下的问文件和目录的个数
return $res #返回这个结果
}
echo "$0 start...."
fun #调用函数
ret=$? #接收结果
echo "ret=$ret" #打印
exit