Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践
敕令1
固然如今Python在运维工作中已经应用很广泛,然则很多企业袈溱找Linux云计算工程师的时刻照样会问到 shell 脚本的问题,它有助于你在工作情况中主动完成很多义务。
Q:7 在shell脚本中若何比较两个数字 ?
如下是一些面试过程中,经常会碰到的 shell 脚本面试问题及解答:
Q:5 shell脚本中“if”语法若何嵌套?
答:一个Shell脚本是一个文本文件,包含一个或多个敕令。作为体系治理员,我们经常须要应用多个敕令来完成一项义务,我们可以添加这些所有敕令在一个文本文件(Shell脚本)来完成这些日常工作义务。
Q:3 可以在shell脚本中应用哪些类型的变量?
Q:2 什么是默认登录shell,若何改变指定用户的登录shell
答:在Linux操作体系,“/bin/bash”是默认登录shell,是在创建用户时分派的。应用chsh敕令可以改变默认的shell。示例如下所示:
- # chsh <用户名> -s <新shell>
- # chsh linuxtechi -s /bin/sh
答:在shell脚本,我们可以应用两种类型的变量:
- 体系定义变量
- 用户定义变量
体系变量是由体系体系本身创建的。这些变量平日由大年夜写字母构成,可以经由过程“set”敕令查看。
用户变量由体系用户来生成和定义,变量的值可以经由过程敕令“echo $<变量名>”查看。
done
Q:4 若何将标准输出和缺点输出同时重定向到同一地位?
答:这里有两个办法来实现:
办法一:
2>&1 (如# ls /usr/share/doc > out.txt 2>&1 )
办法二:
&> (如# ls /usr/share/doc &> out.txt )
!!
答:基本语法如下:
if [ 前提 ]
then
敕令2
…..
else
if [ 前提 ]
then
敕令1
敕令2
….
else
敕令1
敕令2
…..
fi
fi
Q:6 shell脚本中“$?”标记的用处是什么?
答:在写一个shell脚本时,如不雅你想要检查前一敕令是否履行成功,在if前提中应用“$?”可以来检查前一敕令的停止状况。简单的例子如下:
- root@localhost:~# ls /usr/bin/shar
- /usr/bin/shar
- root@localhost:~# echo $?
- 0
如不雅停止状况是0,解释前一个敕令履行成功。
- root@localhost:~# ls /usr/bin/share
- ls: cannot access /usr/bin/share: No such file or directory
- root@localhost:~# echo $?
- 2
如不雅停止状况不是0,解释敕令履行掉败。
答:在if-then中应用测试敕令( -gt 等)来比较两个数字,例子如下:
- #!/bin/bash
- x=10
- y=20
- if [ $x -gt $y ]
- then
- echo “x is greater than y”
- else
- echo “y is greater than x”
- fi
Q:8 shell脚本中break敕令的感化 ?
答:break敕令一个简单的用处是退出履行中的轮回。我们可以在while和until轮回中应用break敕令彪炳轮回。
Q:9 shell脚本中continue敕令的感化 ?
答:continue敕令不合于break敕令,它只彪炳当前轮回的迭代,而不是全部轮回。continue敕令很多时刻是很有效的,例如缺点产生,但我们依然欲望持续履行大年夜轮回的时刻。
答:基本语法如下:
case 变量 in
值1)
敕令1
敕令2
敕令1
…..
最后敕令
$9 第九个敕令行参数
值2)
敕令1
敕令2
……
最后敕令
;;
esac
Q:11 shell脚本中while轮回语法 ?
推荐阅读
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 然而大年夜家须要知道的是,买器械并不是价格低就必定划算,如不雅购买了劣质的产品,后期保护成本和时光>>>详细阅读
本文标题:面试Linux运维一定会问到的Shell脚本这24个问题
地址:http://www.17bianji.com/lsqh/38741.html
1/2 1