论小脚本的简单性2

脚本的授权 chmod +x 赋予它执行的权利很重要哦

[root@hadoop ~]# vi /abc.sh 

#!/bin/sh

echo $0                      ->$0 获得脚本名称

[root@hadoop /]# chmod +x  /abc.sh     ->使脚本可执行

[root@hadoop ~]# /abc.sh 

/book.sh

[root@hadoop ~]# vi /abc.sh

#!/bin/sh

echo $0

echo "第一个参数:"$1             -> $1获得脚本参数第一个位置的值  

echo "第二个参数:"$2             -> $2获得脚本参数第二个位置的值

[root@hadoop ~]# /abc.sh abc def       ->  /abc.sh空格参数1空格参数2

/book.sh

第一个参数:=abc

第二个参数:=def

************************************************************************************************************************************

接下来我们看看小脚本的循环吧 各种骚操作随便你玩

[root@hadoop ~]# vi /abc.sh

#!/bin/sh

echo '$*'

for p in $*     ->for  临时变量  in  遍历数据(注意:$*不要加双引号,会当字符串解析)

do                ->开始

echo $p        ->echo $p  输出每个参数的值  

done            ->执行

[root@hadoop ~]# /abc.sh abc def

$*

abc

def

[root@hadoop ~]# s=`expr 2 + 3`   ->"`"波浪号 expr代表运算  expr空格2空格+空格3

[root@hadoop ~]# echo $s

5

 [root@hadoop ~]# vi /def.sh

  #!/bin/sh

while((i<=3))

do

echo $i

let i++

done 

[root@hadoop /]# chmod +x  /def.sh     ->使脚本可执行

1

2

3

[root@hadoop ~]# vi /book.sh 

#!/bin/sh

case $1 in

start)

echo "starting"

;;

stop)

echo "stoping"

;;

*)

echo "走了else…."

esac

[root@hadoop /]# ./book.sh stop

stoping

[root@hadoop /]# read -p "我很帅吗?" anser   ->"我很帅吗?"提示语句    anser:程序将阻塞并将输入的值赋给anser

我很帅吗?en        

[root@hadoop /]# echo $anser

en

[root@hadoop /]# vi book.sh

#!/bin/bash

read -p "please input your name:" NAME      ->"我很帅吗?"提示语句    anser:程序将阻塞并将输入的值赋给anser

if [ $NAME = root ]             ->[ ]两内侧必须有空格    if后边要有空格   ->${NAME} Otrue    大于1false

           then

                 echo "hello ${NAME},  welcome !"   

elif [ $NAME = accp ]

         then

                 echo "hello ${NAME},  welcome !"

else

                 echo "get out here !"

fi

 

[root@hadoop /]# ./book.sh 

please input your name:accp

hello accp,  welcome !

[root@hadoop /]# ./book.sh 

please input your name:hahaha

SB, get out here !

[root@hadoop /]# [ SF ] && echo OK   ->[ ]两内侧必须有空格  ->符合条件,运行后面 ->[  ]:只要有非“”字符串,返回0

OK

[root@hadoop /]# [ SF ] && echo OK || echo notok   ->符合条件,运行后面 ||不符合条件运行这里

OK

[root@hadoop /]# [  ] && echo OK || echo notok

Notok

posted @ 2019-04-08 18:33  后山人  阅读(171)  评论(0编辑  收藏  举报