Shell编程(1)

shell是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令。

虽然shell表面上和Windows的命令提示符相似,但是它具备更强大的功能以完成相当复杂的程序。你不仅可以通过他执行命令、调用Liunx工具,还可以自己编写程序,shell执行shell程序,这些程序通常被称为脚本,他们是在运行时解释执行的。(Linux程序设计  中文第4版)

bash是shell的一种

shell编程    Liunx下的脚本语言

shell        解释型语言                    my.sh由解释器解释执行(bash)

c              编译型语言                    main.c------->mian.exe

PS1 一级指示符

PS2 二级指示符

一般情况下,脚本文件中的参数以空白字符分隔(例如,一个空格、一个制表符或者一个换行符)。如果你想在一个参数中包含一个或多个空白字符,你就必须给参数加上引号。

 

字符串通常都被放在双引号中,以防止变量被空白字符分开,同时又允许$扩展

 

等号两边不能有空格
#str="hello"
#val='100'
#mystr=$str

#let "val+=1"
#val='expr $val+1'
#echo "val=$val"




read line

echo "str=$str"
echo "val=$val"
echo "mystr=$mystr"
echo "line=$line\n"

 #echo "PATH=$PATH"
#echo "HOME=$HOME"  环境变量

像$foo这样的变量在引号中的行为取决于你所使用的引号类型。如果你把一个$变量表达式放在双引号中,程序执行到这一行时就会把变量替换为它的值;如果你把它放在单引号中,就不会发生替换现象。还可以通过在$字符前面加上一个\字符以取消它的特殊含义

$0  shell脚本的名字

$#  传递给脚本的参数个数

$$   shell 脚本的进程号

Shell编程(1)_第1张图片 Linux程序设计  中文第4版

 

#echo "\$0=$0"
#echo "\$#=$#"
#echo "\$$=$$"

#echo "\$1=$1"
#echo "\$2=$2"

Shell编程(1)_第2张图片
 

Shell编程(1)_第3张图片 Linux程序设计  中文第4版

 

if 语句
#if [ "$line" -gt 100 ]
#then
 #   echo "$line > 100"
#else
#    echo "$line <= 100"
#fi



#if test "$line" = "123"
#then
 #   printf "==\n"
#else
 #   echo "!="

#fi


#echo "input"
#read line

#if [ "$line" -gt 100 ] || [ "$line" -lt 0 ]
#then
   #echo "arg error"
    #exit 0
#fi

#if [ "$line" -ge 80 ]
#then
 #   echo "A"
#elif [ "$line" -ge 70 ]
#then
 #   echo "B"
#elif [ "$line" -ge 60 ]
#then
 #   echo "C"
#else
 #   echo "D"
#fi
#for
#for i in 1 2 3
#do
#   echo "i=$i"
#done


#for i in $(ls)
#do
#    echo "i=$i"
#    sleep 1
#done
#i=1
#1  let "i+=3"
# 2  i=`expr $i + 1`
#echo "i=$i"
#while [ : ]
#do 
#    echo "input:"
#    read line
#    if [ "$line" = "end" ]
#    then
#	break
#    fi

#    printf "read: $line"
#done



#echo "input"
#read line


#while [ "$line" != "end" ]
#do
#    printf "line=$line\n"
#    read line
#done



#i=1
#while [ "$i" -lt 5 ]
#do
#    echo "i=$i"
#    sleep 1
#    let "i+=1"
#done




#i=1
#while [ : ]
#do 
#    echo "input password"
#    read password
#    if [ "$password" = "123" ]
#    then
#	echo "success"
#	break;
#   fi
#

#    if [ "$i" -eq 3 ]
#    then
#	echo "falied"
#	exit 0;
#    fi
#    let "i+=1"
#done
#until [ -f a.text ]
#do
#    echo "not find a.text"
#    sleep 1
#done

#echo "find a.text"
#echo "input"
#read line

#case "$line" in
#    [Yy] |[Ee] |[Ss] ) echo "this is yes";;
#    no ) echo "this is no";;
#    * ) echo "***"
#esac

 

你可能感兴趣的:(Linux)