zoukankan      html  css  js  c++  java
  • Linux入门视频笔记二(Shell)

    一、Shell脚本编程基础

    1、简单地理解是脚本就是一堆的Linux命令或其他命令,把他们写到一起,打包成一个文件就是脚本,Shell脚本一般以.sh后缀结尾

     

    2、sh text.sh:运行text.sh脚本

    3、Linux支持变量,和c语言一样(但似乎不用声明类型),比如在脚本里写a = 10(这里为了看起来清除一点=两边加了空格,但实际上在shell脚本语言中这是错误的哦)。

    4、echo:输出语句

    echo $a:输出变量a(赋值一个变量时不需要写$,使用或读取一个变量需要写)

    echo "Hello World":输出字符串(可以和上面的拼接在一起哦echo "Hello World" $a,并且在Linux里对于一个字符串拉说写不写双引号问题不大,echo Hello World这样也可以得到正常的输出)

    5、expr:用来计算一个式子(+   -  *   /  )赋值的地方不能写空格,运算符两边必须写空格。

    c=`expr $a + $b`:计算a+b(记得要把这个式子括起来哦,如果+两边没有空格的话会显示a+b而不是他们的和)

    c=`expr $a * $b`:计算a*b(因为在正则表达式中“*”被认为可以重复很多次,所以在Shell里面也会这么认为,所以前面要加转义符号“”才能得到表示乘)

    Linux脚本语言里括号也是要写转义符的(  )。

    6、if:条件判断语句

    1 if[...]
    2 then
    3     ...
    4 else
    5     ...
    6 fi

    输出a和b的较大者

    1 if [ $a -gt $b ]
    2 then
    3     echo $a
    4 else
    5     echo $b
    6 fi

    >:-gt(greater than)

    <:-lt(less than)

    >=:-ge(greater equal)

    <=:-le(less equal)

    ==:-eq(equal)

    !=:-ne(not equal)

    7、for:循环语句

    1 for x in ....
    2 do
    3     ...
    4 done

    注释用#

    输出1-10(早期)

    1 for x in 1 2 3 4 5 6 7 8  10  #赋值不用$哦
    2 do
    3     echo $x
    4 done

    输出1-10

    1 for x in {1 .. 10}  #可能会不支持
    2 do
    3     echo $x
    4 done

    8、while:循环语句

    1 while [ .. ]
    2 do
    3     ...
    4 done

    输出1-10

    1 x=1
    2 while [ $x -lt 10 ]
    3 do
    4     echo $x
    5     x=`expr $x + 1`
    6 done

    二、字符串

    1、定义:a=“hello”

    1 #输出hello world
    2 a=hello
    3 b=world
    4 echo $a $b

    2、read a:输入a

    3、比较两个字符串:通过一个"="比较是否相等,“!=”比较是否不等(和C一样)

     1 password="123"
     2 
     3 echo "Please enter a password:"
     4 read userPassword
     5 
     6 if [ userPassword = password]
     7 then
     8     echo "密码正确!"
     9 else
    10     echo “密码错误!”
    11 fi

    4、拼接字符串:str3="$s1 $s2"(中间不加空格的话两个字符串就拼在一起了)

    5、判断是否是空字符串:if[ -z $s1](-z表示zero,即长度是否为0,-n表示非0)

    三、数组(记得用bash运行)

    1、定义:arr=(7 8 9 10)

    2、输出8:${arr[1]}({}表示数组)

    3、输出整个数组

    1 arr=(7 8 9 10)
    2 
    3 for i in ${arr[@]}
    4 do
    5     echo $i
    6 done
  • 相关阅读:
    luogu1060开心的金明
    luogu1048采药
    uva1025城市里的间谍
    scoi刷题记录(2019/04/07)
    差分及树上差分的正确食用姿势(2019/2/21学习笔记)
    图论技巧(2019/1/28之一)
    考试反思(2019/1/26学习笔记)
    考试反思(2019/1/22)
    「一本通 5.2 例 5」皇宫看守
    「一本通 5.2 例 3」数字转换
  • 原文地址:https://www.cnblogs.com/z1014601153/p/11335773.html
Copyright © 2011-2022 走看看