shell语句的基本使用
Shell语句基本使用
一、文件开头
在Shell编程中,shell文件必须以下面的行开始(且必须放在文件的第一行):符号#!用来告诉系统它后面的参数是用来执行该文件的程序。例如使用/bin/sh来执行程序。编辑好脚本后,若要执行该脚本,还必须使其可执行。
二、注释
以#开头的句子表示注释,注释内容直到这一行的结束。在程序中使用注释有助于在长时间未使用脚本后,仍能快速明白脚本的作用及工作原理。
三、变量
- 变量定义与赋值
- 在shell编程中,所有变量都由字符串组成,不需要对变量进行声明,直接赋值即可。例如:a = helloworld。
- 如果要打印变量内容,使用$+变量名的形式。例如,定义变量a后,使用echo Ais:$a(这里假设变量名为a)来打印其内容。
- 变量名易混淆情况处理
- 当变量名容易与其他文字混淆时,比如num = 2,想要打印包含这个变量的特定格式内容,如echo this is the $numnd时,这个变量是没有值的(这里因为$num后面紧跟字母n,shell会认为这是一个新的变量名)。
- 可以使用花括号来告诉shell我们要打印的是num变量,即echothisisthe${num}nd,这样将打印出:thisisthe2nd。
四、环境变量
由export关键字处理过的变量叫做环境变量,通常情况下仅在登录脚本中使用环境变量,这里不对其进行深入讨论。
五、Shell中的多选择语句 - case语句
- 语法格式
- case语句为多选择语句,可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。其格式如下:
bash case 值 in 模式1) command1 command2 ... commandN ;; 模式2) command1 command2 ... commandN ;; esac - 例如下面的脚本提示输入1到4,与每一种模式进行匹配:
bash echo '输入1到4之间的数字:' echo '你输入的数字为:' read aNum case $aNum in 1) echo '你选择了1' ;; 2) echo '你选择了2' ;; 3) echo '你选择了2' ;; 4) echo '你选择了4' ;; *) echo '你没有输入1到4之间的数字' ;; esac - 这里的case语法和Cfamily语言差别很大,它需要一个esac(就是case反过来)作为结束标记,每个case分支用右圆括号,用两个分号表示break。
六、循环中的跳出操作
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。其中break命令允许跳出所有循环(终止执行后面的所有循环)。例如脚本进入死循环直至用户输入数字大于5,要跳出这个循环,返回到shell提示符下,就需要使用break命令。
本篇文章所含信息均从网络公开资源搜集整理,旨在为读者提供参考。尽管我们在编辑过程中力求信息的准确性和完整性,但无法对所有内容的时效性、真实性及全面性做出绝对保证。读者在阅读和使用这些信息时,应自行评估其适用性,并承担可能由此产生的风险。本网站/作者不对因信息使用不当或误解而造成的任何损失或损害承担责任。
