当前位置:龙泉人才网 - 公司招聘 -

linux软件工程师(搞懂Linux)

  • 公司招聘
  • 2023-09-05 22:40
  • 龙泉小编

作为一名IT工程师,尤其是Linux软件工程师,shell脚本的编写是必不可少的技能。面试中时常会遇到shell方面的提问,那么面试官会问什么呢?本篇我就带来常见的提问及解答。

引言:身边不少shell学习者,在刚开始学习shell总喜欢玩些花活,基本知识不扎实。其实在工作中没有那么多花活,工作中更多要求的是解决思路,不是说写个贪吃蛇这类小游戏就可以了,而良好的解决思路需要工作的磨练。刚开始,我们还是要扎实基础,因为面试官不会问你shell怎么实现贪吃蛇的。

写脚本中你?

什么是Shell脚本及如何查看你用的Shell

不用那么高大上的理解,Shell脚本就是一个文本文件,什么文本文件呢?包含Shell命令及代码块的文本文件,帮助我们有序的处理一些事情。如何查看自己用的是哪一个Shell解释器呢?如下:

# 终端输入 echo $SHELL

“#! /bin/bash”什么用途

我们都知道Shell解释器有很多种,具体有什么就不多少了。这句话就是指定Shell解释器去解释我们的脚本。其实,不带这行也是可以的,脚本就可以直接执行了,当然权限要给够,它会按照Linux系统默认的解释器去解释。当然,我们也可以指定其他解释器去解释它。

# 如下两种执行方式 ./file /bin/bash file

变量分类

我的总结有两种分类。第一种是按照变量值分为普通变量、命令变量,第二种是按照作用域分为局部变量、全局变量、环境变量。演示如下:

# 普通变量和命令变量 Var_1="shell" Var_2=`ls` Var_3=$(ls) #局部变量、全局变量和环境变量 Var_4="shell" #函数外部 local Var_5="shell" #函数内部局部变量可覆盖同名全局变量 echo $SHELL #这个SHELL就是环境变量

标准错误、标准输出重定向到日志文件里

重定向操作其实没啥,我们用的最多的就是输出重定向,及标准输出、标准错误重定向到文件里。操作很简单,如下所示:

/bin/bash shell_file > output_file 2>&1 /bin/bash shell_file &> output_file

$?是什么意思

Shell执行完毕每个命令都会有一个返回值,这个返回值就是用$?去接收。一般$?等于0则表示上个命令执行成功,否则就是失败,具体可查看日志文件或者标准输出。所示我们会用这个$?去做一些逻辑判断,去执行不同的代码。

VAR=`ls` if [ ${VAR} -ne 0 ];then 代码1 else 代码2 fi

break的作用

这个就通用理解了,跟C语言一样,在循环中,遇到条件,我们可以使用break跳出循环去执行下段代码。当然,continue还是继续新的循环,跳过了循环块中的后续代码。

for循环使用方式

这个跟C语言有点区别,有两种方式去操作,如下所示:

for 变量名 in 变量取值列表 do 执行语句 done for x in $(seq 2) do echo $x done for((exp1;exp2;exp3)) do 执行语句 done for((x=1;x<3;x++)) do echo $x done

Shell内置特殊变量

这个是Shell独一无二的。$0表示脚本名,$1表示脚本的第一个命令行参数...$9表示脚本的第九个命令行参数,大于10个参数的表示则用${10...},获取命令行参数个数则用$#,获取命令行参数信息则用$*。

测试表达式

有四种方式:test、[]、[[]]、(())。但是使用方式略有区别,我们要做的就是记着运算符的使用方式以及边界空格问题,一般新手会在这里“入坑”。如下图所示:

测试表达式{test、[]、[[]]、(())}使用区别

这里流程控制语句就说了一个for循环,当然还有其它也是常用的,都可以去掌握一下。基础知识其实也就这么些,这些掌握了牢固,日常工作需求还是可以完成的。


喜欢的点赞支持一下,谢谢!

免责声明:本文内容来源于网络或用户投稿,龙泉人才网仅提供信息存储空间服务,不承担相关法律责任。若收录文章侵犯到您的权益/违法违规的内容,可请联系我们删除。
https://www.lqrc.cn/a/gongsi/67899.html

  • 关注微信

猜你喜欢

微信公众号