答:如同for轮回,while轮回只要前提成立就反复它的敕令块。不合于for轮回,while轮回会赓续迭代,直到它的前提不为真。基本语法:
敕令…
while [ 前提 ]
do
Q:1 Shell脚本是什么、它是必须的吗?
done
Q:12 若何使脚本可履行 ?
答:应用chmod敕令来使脚本可履行。例子如下:
- # chmod a+x myscript.sh
Q:13 “#!/bin/bash”的感化 ?
答:#!/bin/bash是shell脚本的第一行,称为释伴(shebang)行。这里#符号叫做hash,而! 叫做 bang。它的意思是敕令经由过程 /bin/bash 来履行。
Q:14 shell脚本中for轮回语法 ?
答:for轮回的基本语法:
for 变量 in 轮回列表
do
敕令2
….
最后敕令
答:应用'-x'参数(sh -x myscript.sh)可声调试shell脚本。另一个种办法是应用‘-nv’参数( sh -nv myscript.sh)。
Q:16 shell脚本若何比较字符串?
答:test敕令可以用来比较字符串。测试敕令会经由过程比较字符串中的每一个字符来比较。
Q:17 Bourne shell(bash) 中有哪些特别的变量 ?
答:下面的表列出了Bourne shell为敕令行设置的特别项量。
内建变量 解释
$1 第一个敕令行参数
$2 第二个敕令行参数
….. …….
Q:10 告诉我shell脚本中Case语句的语法 ?
$# 敕令行参数的数量
$* 所有敕令行参数,以空格隔开
Q:18 在shell脚本中,若何测试文件 ?
答:test敕令可以用来测试文件。基本用法如下表格:
Test 用法
-d 文件名 如不雅文件存在并且是目次,返回true
-e 文件名 如不雅文件存在,返回true
Q:15 若何调试shell脚本 ?
-f 文件名 如不雅文件存在并且是通俗文件,返回true
-r 文件名 如不雅文件存在并可读,返回true
-s 文件名 如不雅文件存在并且不为空,返回true
-w 文件名 如不雅文件存在并可写,返回true
-x 文件名 如不雅文件存在并可履行,返回true
Q:19 在shell脚本中,若何写入注释 ?
答:注释可以用来描述一个脚本可以做什么和它是若何工作的。每一行注释以#开首。例子如下:
- #!/bin/bash
- # This is a command
- echo “I am logged in as $USER”
Q:20 若何让 shell 就脚本获得来自终端的输入?
答:read敕令可以攫取来自终端(应用键盘)的数据。read敕令获得用户的输入并置于你给出的变量中。例子如下:
- # vi /tmp/test.sh
- #!/bin/bash
- echo ‘Please enter your name’
- read name
- echo “My Name is $name”
- # ./test.sh
- Please enter your name
- LinuxTechi
- My Name is LinuxTechi
Q:21 若何撤消变量或撤消变量赋值 ?
答:“unset”敕令用于撤消变量或撤消变量赋值。语法如下所示:
# unset <变量名>
Q:22 若何履行算术运算 ?
答:有两种办法来履行算术运算:
1.应用expr敕令(# expr 5 + 2) 2.用一个美元符号和方括号($[ 表达式 ])例如:test=$[16 + 4] ; test=$[16 + 4]
Q:23 do-while语句的根本格局 ?
$0 敕令行中的脚本名字
答:do-while语句类似于while语句,但检查前提语句之前先履行敕令(LCTT 译注:意即至少履行一次。)。下面是用do-while语句的语法
do
{
敕令
} while (前提)
Q:24 在shell脚本若何定义函数呢 ?
答:函数是拥有名字的代码块。当我们定义代码块,我们就可以在我们的脚本调用函数名字,该块就会被履行。示例如下所示:
- $ diskusage () { df -h ; }
译注:下面是我给的shell函数语法,原文没有
[ function ] 函数名 [()]
{
敕令;
[return int;]
}
【编辑推荐】
- 3个简单、优良的Linux收集监督器
推荐阅读
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 然而大年夜家须要知道的是,买器械并不是价格低就必定划算,如不雅购买了劣质的产品,后期保护成本和时光>>>详细阅读
本文标题:面试Linux运维一定会问到的Shell脚本这24个问题
地址:http://www.17bianji.com/lsqh/38741.html
1/2 1