
大背景
一句话归纳是:shell程式设计是对一大堆Linux指示的方法论化处置。举个单纯的范例,他们做javaweb合作开发的,在从前,假如要在邻近地区将流程装箱,接着布署到远距伺服器他们从前的作法一般来说会历经如下表所示两个关键步骤:12校对装箱3上载并布署到远距伺服器每天装箱都要历经这种的两个期,工作效率低且更让人烦闷。直面此种情形,他们就能撰写两个shellJAVA,每天只须要运转呵呵那个shellJAVA,方可同时实现装箱布署这一连串姿势,全盘起义者双脚,何等地幸福。

进阶
何等经典之作的helllo world。
第二行则表示他们优先选择采用bash shell
第二行以#符号开始,则表示本行是注释,运转的时候是不会运转本行的。
第三行中的echo是linux中的输出
指示
,该行的意思是输出hello world!
shell中#符号则表示注释。shell的第二行比较特殊,一般都会以#!开始来指定采用的shell类型。在linux中,除了bash shell以外,还有很多版本的shell, 例如zsh、dash等等…不过bash shell还是他们采用最多的。
运转第二个shell流程
在linux中,后缀名几乎是能任意的或者没有后缀名,一般将shell保存为XXX.sh是为了看起来更直观。假如直接执行hello_world.sh,这时会默认从$PATH环境变量中去寻找,这时,由于他们为将此文件配置在环境变量中,因此会找不到。所以,他们用了”.”那个符号,则表示从当前目录找。除了以上执行方法,他们还能直接指定shell来运转:
这儿他们指定用了/bin/sh来执行,这时hello_world.sh中指定的/bin/bash将不会生效。
变量
shell程式设计中分为两种变量,第一种是他们自己定义的变量(自定义变量),第二种是Linux已定义的环境变量(环境变量, 例如:$PATH, $HOME 等…, 这类变量他们能直接采用)。
以上演示了自定义变量和系统环境变量的用法,采用很单纯,是采用$符号加上变量名就行了。记住:定义变量不用$符号,采用变量要加$就行了。在第5行中,他们在自定义变量时,采用了双引号,在shell程式设计中,假如变量出现空格或者引号,那么也必须加引号, 否则就能省略。
还有一点须要注意,定义变量的时候,“=”左右千万不要有空格啊。
将linux指示执行结果赋值给变量以上2行和第3行分别演示了两种方式来将Linux指示执行结果保存到变量。第2行将pwd执行结果(当前所在目录)赋值给path变量。第3行将ls -al指示执行结果(列出当前目录下所有的文件及文件夹)赋值给变量。
第三行的符号不是单引号,是键盘上“~”那个按键
到此,对shell程式设计已经有初步认识了,也会采用变量了。到此,看起来shell程式设计是不是很的单纯。没错,其实真的就这么一回事。
本文原创地址:https://www.linuxprobe.com/shell-so-easy.html