上两篇文章详细介绍了Linux的常用命令以及Shell的基本认识。        Shell允许用户建立变量存储数据,但是不支持数据类型(整形、字符、浮点型),将任何变量的值都解释为一个字符串。        打印Shell变量必须加上$符号,如果不加该符号会默认打印该字符串。同时等号两边不加空格。        使用unset命令删除变量的赋值         当参数数量超过两位数时,需要加上大括号        Shell程序由零或者多条Shell语句构成。Shell语句包括三类:        说明性语句:以#开始到改行结束,不被执行(除脚本第一行告诉系统用那种类型的Shell来执行)        功能性语句:任意shell命令、用户程序或者其它shell程序。        ① read从标准输入读入一行,并且赋值给后面的变量,语法为:        注意:如果执行read语句时标准输入无数据,则程序在此处停留,直到数据到来或者被终止执行。 注意:如果变量输入多了,多余的值全部赋值给最后一个变量。        注意:变量赋值没有空格,算数运算符两侧有空格        ③test测试语句:        字符串测试:        整数测试:        文件测试:        结构性语句:条件测试语句、多路分支语句、循环语句、循环控制语句等。        注意:在Shell中表达式为真——为0即为真。可以是一条,也可以是多条表达式来判断。同时也可以像C语言一样进行嵌套        ② 多路分支语句 case…esac        注意:case语句只能检测字符串变量;各模式中可用文件名元字符,以右括号结束;命令行以单独的双分号行结束,退出case语句;模式n常写为字符*表示所有其它模式;最后一行双分号可以省略。        ③ 循环语句        当循环次数已知或确定时,使用for循环语句来多次执行一条或者一组命令。循环体由语句do和done来限定。格式如下:        变量依次取单词表中的各个单词,每取一次单词,就执行一次循环体中的命令。循环次数由单词表中的单词个数确定。命令表中的命令可以是一条,也可以是由分号或者换行符分开的多条。        当不知道循环次数时,我们选择使用while循环。循环语法结构如下:        while循环首先测试其后的命令或表达式的值,如果为真,就执行一次循环体中的命令,然后测试该命令或表达式的值,执行循环体,直到该命令或表达式为假时退出循环。        这几段代码中有关于变量运算的知识,具体的请戳链接:Linux Shell之数字加减文章中有详细介绍。        输出结果:        不积小流无以成江河,不积跬步无以至千里。而我想要成为万里羊,就必须坚持学习来获取更多知识,用知识来改变命运,用博客见证成长,用行动证明我在努力。
 Linux常用命令:https://blog.csdn.net/weixin_44895651/article/details/105289038
 Shell基础:https://blog.csdn.net/weixin_44895651/article/details/105931755文章目录
Shell变量
        Shell变量不需要向C语言中那样需要提前定义,Shell变量可以直接赋值。
 例如:count=1#定义一个count变量,并且赋值为1 echo $count#打印变量的值  DATE=date#定义一个DATE变量,并且把日期赋值给该变量(属于命令置换) echo $DATE#打印日期 
 Bourne Shell的四种变量:
        在Shell编程中通常使用全大写变量,方便识别
        变量的调用:在变量前加$符号
        Linux Shell/bash从右向左赋值$Y=y $ X=$Y $ echo $X y $ Z=hello $ echo ¥Z hello $ unset Z#删除变量 
 
参数 
意义 
 
$0 
与键入命令行一样,包含脚本文件名 
 
$1,$2,…$9 
分别包含第一个到第九个命令行参数 
 
$# 
包含命令行参数的个数 
 
$@ 
包含命令行参数:“$1,$2,…$9 ” 
 
$? 
包含前一个命令行的退出状态 
 
$* 
包含所有命令行参数:“ $1,$2,…$9” 
 
$$ 
包含正在执行进程的ID号 
        在使用系统时,已经在脚本中提前写好的一些环境变量。
 常用的Shell环境变量:
 
变量名 
作用 
 
HOME 
/etc/passwd文件中列出用户主目录 
 
IFS 
默认为空格,tab及换行符 
 
PATH 
Shell搜索路径 
 
PS1,PS2 
默认提示符($)及换行提示符(>) 
 
TERM 
终端类型,常用的有vt100,ansi,vt200,xterm等 
Shell程序和语句
read var#把读入的数据全部赋给var read var1 var2 var3#把读入的第一个单词赋值给var1,第二个赋值给var2... #输入一个变量: #!/bin/bash echo 'input a number' read NUM echo $NUM #输入多个变量: #!/bin/bash echo 'input year month day' read Y M D echo "today is $Y-$M-$D" 
        ②算数运算命令expr主要用于简单的整数运算,包括加(+)、减(-)、乘(*)、除(/)和求模(%)等。#!/bin/bash A='expr 3 + 5 * 4'#注意运算符两边必须有空格 echo $A 
        测试对象:字符串、整数、文件属性test '$answer' = 'yes'#测试变量answer是否为字符串类型 test $num -eq 18#测试变量num是否为整数18 test -d tmp#测试tmp是否为一个目录名 
 
命令 
测试内容 
 
s1 = s2测试两个字符串的内容是否完全一样 
 
s1 != s2测试两个字符串内容是否有差异 
 
-z s1测试字符串的长度是否为0 
 
-n s1测试s1字符串长度是否不为0 
 
命令 
测试内容 
 
a -eq b测试a和b是否相等 
 
a -nq b测试a和b是否不相等 
 
a -gt b测试a是否大于b 
 
a -ge b测试a 是否大于等于b 
 
a -lt b测试a是否小于b 
 
a -le b测试a是否小于等于b 
 
命令 
测试内容 
 
-d name测试name文件是否为一个目录 
 
-e name测试一个文件是否存在 
 
-f name测试name文件是否为普通文件 
 
-L name测试name文件是否为符号链接 
 
-r name测试name文件是否存在且可读 
 
-w name测试name 文件是否是否存在且可写 
 
-x name测试name文件是否存在且尚可执行 
 
-s name测试name文件是否存在且长度不为0 
 
f1 -nt f2测试文件f1是否比f2文件更新 
 
f1 -ot f2测试文件f1是否比f2更旧 
        ① 条件语句:语法结构 1: if 表达式  then 命令表 fi 说明: - 如果表达式为真,则执行命令表中的命令;负责退出if语句,即执行fi后面的语句 - if和fi是条件语句的句号括号,必须成对使用 - 命令表中的命令可以是一条也可以是若干条  语法结构 2: if 表达式 then 命令表1 else 命令表1 fi - 如果表达式为真,则执行命令表1中的命令,再退出if语句;负责执行命令表2中的语句,再退出if语句 if [ $# -ne 1 ] #如果没有提供文件名的话则给用户提示 then echo 'usage:$0 filename' exit fi if [ -e $1 ] #测试文件是否存在 then echo '$1 not exit' exit fi if [ -L $1 ] #测试文件是否为一个链接文件 then echo 'l' elif [ -d $1 ] then echo 'd' elif [ -f $1 ] then echo '-' elif [ -b $1 ] then echo 'b' else echo 'd' fi 
        多路分支语句case用于多重条件测试,语法结构清晰自然。其语法为:case 字符串变量 in  模式1)   命令表1   ;;  模式2|模式3)   命令表2   ;; ......  模式n)   命令表n   ;; esac echo -n 'please choose (yes|no)?' #-n是不换行 read R case $R in yes | y | Y | YES ) echo 'yes' ;;     no | n | NO | N ) echo 'no' ;;     *) echo 'wrong' esac for 变量名 in 单词表  do   命令表  done #方法一: SUM=0 for I in $(seq 0 2 100) #实现的功能是for(I=0;I<=100;I=I+2) do echo $I    SUM=$SUM+$I done echo $[SUM] #方法二: SUM=0 for ((I = 1; I <= 100 ; I=I+2)) do echo $I     SUM=$SUM+$I done echo $[SUM] while 命令或表达式  do   命令行  done 
        while语句的退出状态为命令表中被执行的最后一条命令的退出状态SUM=0 I=100 while [ $I -ge 0 ] #判断变量I是否大于等于0 do     SUM=$SUM+$I     I=$(($I-2)) done echo $[SUM] 
       ④循环控制语句break和continuebreak n #跳出n层 continue语句则马上转到最近一层循环语句的下一轮循环上。 continue n#转到最近n层循环语句的下一轮循环上 I=1 while [ $I -lt 5 ] do     J=1     while [ $J -lt 5 ] do         J=$(($J+1)) if [ $J -gt 3 ] then break 2 #跳出两层循环 fi echo "$I-$J" done     I =$(($I+1)) done 
 
        如果我的博客对你有帮助、如果你喜欢我的博客内容,请“” “评论” “”三连哦!听说的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
官方软件产品操作指南 (170)