美文网首页
Shell编程

Shell编程

作者: 信命不认命_962f | 来源:发表于2019-02-17 19:47 被阅读0次

一.Shell

作用:把Linux中的命令保存起来,下次需要时直接运行Shell程序

①cd    Desktop/

②mkdir  shellText/

③cd    shellText/

④touch    hello.sh

⑤vim    hello.sh

sh    hello.sh运行文件程序

在hello,sh文件内进行shell编程

1.定义变量(不能有空格)

name='zhangsan'

echo  ${name}——>"zhangsan"

num=10

echo  ${num}——>"10"

echo   "your  name  is ${name}"    ---->"your  name  is  zhangsan"

myname = 'abc'

  ###重新赋值

readonly  myname

myname=’dce‘——>'dce'

###删除变量(unset)

在shell编程中如果一个变量被删除,再次使用不会报错但是没有输出

2.字符串

双引号:内不能包含“$,`,\等字符”("  ")

单引号:任意字符都不会被解析,都会原样输出('  ')

反引号:会将内容当做命令来执行(`  `)


3.数组(默认获取数组中的第0个元素)

arr1=(10  20  30  40)

echo  ${arr1}——>10

arr2=(

10

20

30

40

)

echo  ${arr2}——>10

#获取数组中的元素

echo ${arr1[2]}——>30

echo ${arr1[@]}——>10  20  30  40

#获取数组的长度

echo ${#arr1[@]}——>4

echo ${#arr1[*]}——>4

4.运算符

算术运算符

①val=`expr  2 + 2`

echo  ${val}——>4

②val=`expr  2\*2`

echo  ${val}——>4

③val=`expr  2 / 2`

echo  ${val}——>1

④val=`expr  2  %  2`

echo  ${val}——>0

关系运算符
a=10

b=20

if [  $a -eq $b  ]       -eq相当于Python中的==(中括号前后加空格)

then

  echo "a等于b"

else

  echo "a不等于b"

fi    (后面要加fi为结束语句)

#逻辑运算符

if [ 1 -lt 3 -a 2 -lt 3 ]     -lt相当于小于号,-a相当于python中的and

then

  echo "ok"

fi

if [ 1 -lt 3 ] && [ 2 -lt 3 ]

then

  echo "ok~~~"

fi

5.检测

#!/bin/bash

#算术运算符检测

val=`expr 2 + 2`

echo ${val}

val=`expr 2 \* 2`

echo ${val}

val=`expr 2 / 2`

echo ${val}

val=`expr 2 % 2`

echo ${val}

#关系运算符检测

a=10

b=20

if [ $a -eq $b ]

then

  echo "a等于b"

else

  echo "a不等于b"

fi

#逻辑运算符检测

if [ 1 -lt 3 -a 2 -lt 3 ]

then

  echo "ok"

fi

if [ 1 -lt 3 ] && [ 2 -lt 3 ]

then

  echo "ok~~~"

fi

六.打印语句

①echo

echo -e "ok,\c"    ——>ok

(-e表示开启转义,-c表示不换行,/n表示换行)

echo "test~~~~"    ——>test~~~

echo `date`       ——>当前时间

echo `cal`      ——>日历

②printf

printf "%-10s %-8s %-4s\n" 姓名 性别 体重————————》      姓名               性别       体重

printf "%-10s %-8s %-4s\n" zhangsan nan 66.0543    ————》   zhangsan       nan    66.0543

printf "%-10s %-8s %-4.3s\n" lisi nv 50.634343———————》    lisi                 nv   50.

printf "%-10s %-8s %-4.2s\n" jack nan 75.0434———————》   jack               nan     75.

10s/8s/4s分别代表占位符,占位符越大中间间距越大

第三行的4.3和第四行的4.2分别表示(整体!)保留三位和两位

七.Shell语句

a=10

b=20

if [ $a -eq $b ]

then

  echo "="

elif [ $a -gt $b ]

then

  echo "》"

else

  echo "<"

fi

case语句判断

echo "请输入一个数字"

read num

case $num in

  1) echo "你选择了1"

  ;; #打印数组中的所有元素个数

  2) echo "你选择了2"

  ;;

  *) echo ""

  ;;

esac

#循环语句

①for num in 1 2 3 4

do

  echo $num

done

②for s in "hello"

do

  echo $s

done

③arr=(34 54 54 54)

for x in ${a[*]}

do

  echo $x

done

④while语句

n1=0

sum1=0

while [$n1  -lt    5]               -lt代表小于号

do 

     sum1=$[sum+$n1]

     n1=$[$n1+1]或者(let  "n++")

⑤#until(相当于js中的do    while)

i=0

until    [  $i  -lt  5]

do

echo  $i

((i++))

done

八  函数

①无参无返回值

demo(){

echo "hello" #打印数组中的所有元素个数

}

demo

②有返回值函数

add()

{

echo    "请输入第一个数"      

read    num         #read表示从控制台输入

echo  "请输入第二个数"

read    otherNum

return     $(($ #打印数组中的所有元素个数num+$otherNum))

}

add

echo     "得到的结果为位$?"

③有参数函数

arg()

{

echo    $1           #接参数

echo    $2

echo    $#          #打印长度

echo    $*           #打印数组中的所有元素个数

return  23

}

arg    10    20

echo    $?

相关文章

  • shell 案例

    Shell编程一 Shell防范ARP攻击 Shell编程二 Shell防范DDos攻击 Shell编程三 ...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • 78.shell编程

    shell编程 Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Pyth...

  • 2019-01-25

    Linux系统Shell编程指南 前言 适合人群:有类似C编程基础的人 一、Shell编程介绍 Shell解释型语...

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • 后端运维人员必备shell编程入门

    本文转载自 公众号 Snailclimb Shell 编程入门 走进 Shell 编程的大门 为什么要学Shell...

  • shell编程

    Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Python编程一样,只...

  • day28-2019年4月9日

    shell编程基础 1、为什么要学shell编程? linux系统中会大量得使用shell,工作中也需要...

网友评论

      本文标题:Shell编程

      本文链接:https://www.haomeiwen.com/subject/khqcqqtx.html