UNIX Shell变量 《shell第一章》基本语法入门
我们主要从以下三个方面来开始本节内容。
初识shell变量位置变量和特殊变量shell初识
shell长什么样?究竟是什么?简单地说就是一种编程语言,至于
今天我们来聊一聊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都可以UNIX Shell变量,这里推荐使用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] (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |