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、输出整个数组

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn