美文网首页
Shell基础语法

Shell基础语法

作者: Jaesoon | 来源:发表于2018-07-16 23:11 被阅读7次

Shell变量

Shell中的变量比较简单,不需要声明。并且只有一种类型:String。可以直接赋值,需要注意的是赋值语句中不能有空格。引用时,仅仅需要加上一个“$”即可。当然为了避免混淆,常常使用双引号包含要引用的变量,如下所示

#!/bin/bash
A=b
All=all
echo "$A"ll
echo "$All"

$ bll
all

条件判断

条件判断主要是用来判断两个字符串是否相等或者数字的大小。简单给一个例子

#!/bin/bash
a="$1"
if [ "$a" = "hello" ]
then
    echo "equal"
elif [ -z "$a" ]
then
   echo "是空的"
fi

比价简单,需要注意几点:

  • if和fi是成对出现的
  • "["后面有一个空格,这个不可少,其实很好理解"[ ]"中间运行的是一个脚本
  • 多种情况可以用elif
  • if和elif之后都要跟着then
  • “=”是否字符串比较运算,如果比较两个数字的大小,用 -eq
shell中的运算符
操作符 返回true的条件 操作数个数
-n 操作数的长度不为零 1
-z 操作数的长度为零 1
-d 操作数对应一个目录 1
-f 操作数对应一个文件 1
-eq 操作数为整数,并且相等 2
-neq 操作数为整数,并且不相等 2
= 操作数为字符串,并且相等 2
!= 操作数为字符创,并且不相等 2
-lt less than 操作数为整数 2
-gt great than 操作数为整数 2
-ge great equal 操作数为整数 2
-le less equal 操作数为整数 2

额,当搬运工真的很辛苦

循环

while[]...do...done语句

类似于C语言中的do...while语句,举例如下:

#!/bin/bash
echo "please use add or delete or exit"
ACTION="default"
while [ -n $ACTION ]
do
    read ACTION
    case $ACTION in
             add)
                   echo "add somebody"
                   ;;
            delete)
                   echo "delete somebody"
                   ;;
            exit)
                   echo "complete"
                   break;
                   ;;
            *)
                   echo "invalide action, please re-enter"
                   ;;
     esac
done

for循环

for ... in ... do ... done
这点和python及java类似

#!/bin/bash
for x in 1 2 3 4 5 hello
do
   echo $x
done 

作用就是循环输出1 2 3 4 5 hello

for x in `ls`
do
   echo $x
done

作用就是输出当前路径下的所有文件名称
知识点是,使用``在脚本中执行语句

函数

还是直接给出例子吧

strcat()
{
   OUT="$1"" ""$2"
   return 0
}

strcat2()
{
   echo "$1"" ""$2"
   return 3
}

A="cat"
B="mouse"
OUT=""
strcat $A $B
echo OUT
OUT2=`strcat2 $A $B`
echo $?
echo $OUT2

知识点:

  • 函数定义不需要写明入参,使用时,直接使用$加序号获取
  • 变量的作用域是全局的
  • $?用于获取上次执行的脚本返回的值
  • OUT2=`strcat2 $A $B`不是直接将返回值赋值给OUT2,而是将strcat2的echo值赋值给OUT2。这说明,如果我们要返回值给调用者有两种方式,一种是全局变量赋值,另一种是在函数中echo出来。
    上述脚本执行完毕之后,输出的结果应该是这样的

cat mouse
3
cat mouse

相关文章

  • 第43课 shell编程基础 2019-05-30

    1、计算: 2、$数字的举例: 3、简单的判断举例: 4、shell判断语法基础: 5、shell循环语法:

  • shell入门学习(1)——语法基础

    本文为转载,原文:shell入门学习(1)——语法基础 介绍 Shell Script,Shell脚本与Windo...

  • 第1次课-Shell脚本语言-第1讲

    进入Shell语言基础学习? 1、第一个Shell程序? 2、Shell脚本语法->注释? 3、Shell脚本语言...

  • ios进阶路线 shell脚本语言基础教程(三)

    前面我们熟悉了shell脚本的一些基础语法,现在我们继续深入。 Shell管道 语法结构 命令1 | 命令2 |....

  • Shell 基础语法

    判断 分支 循环 判断标识 函数传参 引用其他脚本

  • Shell基础语法

    Shell变量 Shell中的变量比较简单,不需要声明。并且只有一种类型:String。可以直接赋值,需要注意的是...

  • Shell基础语法

    判断 分支 循环 循环列表1 循环列表2 循环读文件 循环控制 判断标识 函数传参

  • Shell基础语法

    shell不是面向对象语言 变量 shell中赋值的变量值全部为字符串,不存在数字类型 变量分类全局变量 ≈ 环...

  • Shell基础语法

    循环 条件判断 数组 变量的引用 函数调用 平时开发过程中,Shell复杂脚本用的并不多, 如果真的很复杂,完全可...

  • 《Ruby~笔记》0x03

    Ruby 基础语法及应用 IRB (Interactive ruby) 类似与 python shell prin...

网友评论

      本文标题:Shell基础语法

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