您的位置 首页 java

高级软件工程师需要知道的一些linux shell操作

0.引言

作为一个架构师,基本上要懂得一些linux的常用命令,一种典型的场景就是面试,作为一个中小型公司的架构师或者技术经理,部门通常只有一两个 运维 ,假如前一个运维离职了,要新招一个,那么你怎么去评估新招运维的能力了,其中 shell 的熟练程度可以在一定程度上反正这个运维人员的水平,那么作为面试者的你,是不是应该掌握一些这个技能了,那么今天我们就来学学基本的shell操作,不需要学习多么深入,那么运维人员做的事情,不要什么事情都搞得自己很牛逼的样子,自己累死了,下面的人还觉得你是个傻逼。

1. 基本操作命令

基本的一些linux的操作必须要会吧,不然怎么查看服务器了,比如:ls,ps,mv,rm,cp,more, find ,pwd,chmod,mkdir,touch,man,vi/vim,echo,>,>>…

2. Shell编程 基础

我们来主要说说shell编程,也需要掌握很深,至少得看懂吧,不然怎么知道我们的运维人员是在一天磨洋工,还是真的做了一些事情,因为运维人员大部分的时间看起来是无所事事的,那么他们写一些脚本做监控、还做了应用的自动启动,那么在打绩效的,你怎么去评价他的工作量了,或者你怎么能指导人家开展工作了。

2.1 shell脚本的第一行

#!/bin/bash

这个是什么意思了?因为shell脚本是纯文本,这就是指定用什么 解释器 来运行这个脚本,可以指定任何可以执行shell脚本的工具,比如sh

2.2 shell变量

a=1,变量的命名规则与其他的语言并没有什么不同吗,很快入手,但是有点要特别主要,我们写java的人,通常在等号两边加上空格,这样编码规范中的要求,但是 shell脚本在等号两边不能加空格, 右边可以是数字, 字符串 ,主要字符串可以用单引号也可以用双引号,主要区别是单引号是原样输出,双引号里面可以有变量的一些其他的操作。

当要获取变量的值时,在前面加上一个 $ ,比如上面的 $a, 当然完整的应该是 ${a}

删除变量用 unset ,比如上面的变量a删除,unset a就可以了,当然还可以删除函数,用unset -f 函数名称,注意unset的参数, -v 代表变量,默认的,-f代表函数

2.3 向shell脚本传递参数

Shell脚本的名称 + 参数 顺序列出来

我们有个param.sh脚本

高级软件工程师需要知道的一些linux shell操作

传递a b c三个参数,那么运行的结果是:

高级软件工程师需要知道的一些linux shell操作

注意获取第几个位置上的参数就用$n,n代表位置,如果获取第一个参数就用$1, $#代表参数的个数,$@代表所有的参数

2.4 shell函数

Shell函数的定义可以指明用function 关键字,也可以不用,然后就是函数名称,如果有多行语句,那么用{}括起来

高级软件工程师需要知道的一些linux shell操作

函数的调用直接用函数的名称,如果有参数,直接跟在函数的后面,多个参数用空格隔开,像上面两个数相加的 函数调用 ,函数参数的使用就用2.3中介绍的脚本传参一样的。

如果函数有返回值的化,直接用return关键字,如上图中返回两个数相加,那么return $c,获取返回值得方法$?可以获取到上一条指令的返回值

2.5 if条件语句

与其他编程语言一样,都有if条件判断,格式是:

if condition

then

Command

elif condition

Command

else

Command

fi

Condition条件有两种写法,一种是用 test 后面加条件语句,一种是用 中括号 [], 括号里面前后都要有空格

高级软件工程师需要知道的一些linux shell操作

test 判定与中括号一样的 比如 if test “a > b”

高级软件工程师需要知道的一些linux shell操作

2.6 for循环

格式很简单,for in do done的格式,如下

高级软件工程师需要知道的一些linux shell操作

2.7 while循环

格式是while do done,直接来看一个例子,看看格式怎么写的,怎么用的

文章来源:智云一二三科技

文章标题:高级软件工程师需要知道的一些linux shell操作

文章地址:https://www.zhihuclub.com/188290.shtml

关于作者: 智云科技

热门文章

网站地图