大家好,欢迎来到IT知识分享网。
今天我们来聊一聊shell入门篇的第一章。
我们主要从以下三个方面来开始本节内容。
- 初识shell
- 变量
- 位置变量和特殊变量
shell初识
shell长什么样?究竟是什么?简单地说就是一种编程语言,至于往深了去讲,科研型的内容,百度百科上面全部都有。
今天我就从一个新手的角度,来看一看如何开始shell的学习。首先,我们先看一个shell的脚步到底长什么样子,结构是什么样子的?
从这里我们可以大概了解到三点
第一、是以.sh结尾的文件
第二、标注了解释器
第三、有自己对应的语法结构和内置关键字等(这个有点像废话,哈哈)
我们做一下解释:
#!/bin/bash #!跟shell的完整路径。作用是显示后期种命令以哪一种shell来执行,如果不指定shell,则以当前shell作为执行的shell
#this is the first example shell中以#开头表示注释,执行时忽略改行
shell程序一般以.sh结尾
那么如何去创建一个shell呢?其实也很简单。vi和vim都可以,这里推荐使用vim,因为有颜色提示,方便代码的阅读。即 vim test.sh这样的结构。
第一步:创建一个包含命令和控制结构的shell文件
第二步:修改文件的执行权限
第三步:执行
执行的方法有三种,个人推荐第一种,使用方便。
① ./example.sh
② 绝对路径 /home/shell/example.sh
③ bash example.sh 不需要执行权限
变量
学习任何一门编程语言我们都需要了解的一个内容就是变量表达式,或者说是赋值语言。对于有一定其他语言基础的人来说shell的变量就非常简单了。对于一个初学者来说,掌握以下几点,也是可以比较轻松入门shell变量的。
值得一提的是,shell在赋值的时候,“=”两边是不允许有空格的,这一点对于新手来说,要特别注意。
变量是shell传递数据的一种方法。变量是用来代替每个值的符号名。变量分为临时变量和永久变量。
例如:x=3
1、临时变量:
shell程序内部定义的,作用范围仅限于定义它的程序,对其他程序不可见。包括用户自定义变量、位置变量和预定义变量。
这种变量可以属于会消失的变量,unset可以了解一下。
2、永久性变量:
是环境变量,不随shell脚本执行结束而消失。
例如:PATH
在用户自定义变量是也是需要遵守一定的规则的。用户自定义变量由字母、下划线打头,字母、数字、下划线组成,区分大小写,长度无限制,使用变量时前面加$。
变量可以直接赋值。
例如:A=aaa
也可以将一个命令的执行结果赋值给变量
也可以给变量赋值多个值
由于这里会调用变量,因此就会设计单引号和双引号的使用,我们也简单介绍一下。
单引号和双引号区别
单引号中内容原封不对赋值给变量
双引号取消了空格的作用,特殊符号的含义是保留的,尤其是使用一些需要转移的符号例如\n,\t等,双引号就再合适不过了。
前面有提过一嘴,自定义变量的生命周期在程序中。那么如何查询变量和消除变量呢?
set可以查询变量,unset可以删除变量。
位置变量和特殊变量
这里我们介绍一个比较重要的点,后期shell程序中我们会经常用到,执行一个shell程序也好,或者是shell脚本中我们去做一些条件表达式的判断,都会用到这里讲的内容。
位置变量:(位置参数用$N来表示)
shell解释执行用户的命令时,将命令行的第一个字作为命令名,而其他的作为参数。由此出现在命令行上的位置确定的参数称为位置参数。
[root@localhost shell]# ./test.sh file1 file2 file3
$0 这个程序的文件名
$n 这个程序的第n个参数值,n=1…N
特殊变量是shell中默认设定好的,且不能修改,这些变量程序执行时就有了。
$* 这个程序的所有参数
$# 这个程序的参数个数
$ 这个程序的PID
$! 执行上一个后台程序的pid
$? 执行上一个指令的返回值
这里我可能讲得比较浅,有需要深入学习的编程朋友,可以私信我会推荐一个比较好的学习网站。每一次总结的过程也是一次熟悉的过程,也希望能够对大大家有所帮助。欢迎更多朋友一起来探讨和学习。
同时祝大家五一快乐。[666]
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/84472.html