vim编辑器的介绍
-
vim(vimsual)是 Linux/UNIX 系列 OS 中通用的
全屏编辑器
。 -
vimm 分为两种状态,即
命令状态
和编辑状态
.
(1)在命令状态下,所键入的字符系统均作命令来处理,如:q 代表退出。
在命令状态下,按”i”(插入)或”a”(添加)可以进入编辑状态。
(2) 编辑状态则是用来编辑文本资料的。当你进入 vim 时,会首先进入命令状态。 在编辑状态,按 ESC 键进入命令状态。
1、Shell编程概述
- 如果我们有一系列经常使用的 Linux 命令,我们可以把它们存储在一
个文件中。Shell 可以读取这个文件并执行其中的命令。这样的文件被称
为脚本文件。 - 最常用的shell是Bash,也就是Bourne Again Shell
- 执行 shell 脚本:要创建一个 shell 脚本,我们要使用任何编辑器比如 vi 在文本文件中编写它,保存的文件最好是.sh 后缀的。
举个例子:
vi first_shell.sh
first_shell.sh 编辑的内容
脚本编写完毕,如何来执行呢,首先执行shell脚本需要执行权限,赋予执行权限:
赋予权限及命令执行
shell 脚本的编写语法如下:
1.程序往往以下面的行开始 #!/bin/bash(由于是在 redhat 下,所以系统默认
的 shell 是 bash shell。)
"#!"是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行。
2.注释 #
3.shell 变量
- btw, shell编程语言是非类型的解释性语言,不像C++/JAVA语言编程时需要事先声明变量,shell给一个变量赋值,实际上就是定义了变量,在Linux支持的所有shell中,都可以用赋值符号(=)为变量赋值。
- shell变量可分为两类:局部变量和环境变量。局部变量只在创建它们的shell脚本中使用。而环境变量则可以在创建它们的shell及其派生出来的任意子线程中使用。||有些变量是用户创建的,其他的则是专用shell变量。
shell常见的系统变量解析
- shell 变量没有数据类型,都是字符串,即使数值也是字符串
- 创建变量:
变量名称=值
。如果值有空格则必须用""或者’’引用起来
Eg: a=“hello” (=号两边不能有空格) - 引用变量:echo {a} 或 echo “、””、’’三种以外其它
字符的特殊意义)
1>: #echo hello 等同于#echo ${a}
#echo “${a}” 2>: #echo “hello b$aa” hello b,因为此时把 aa 作为一个
整体变量,而且没有定义,所以输
出前面的字符串
3>: #echo “hello b${a}a” hello bhelloa
4>: #echo”${a}a” helloa
5>: #echo ‘${a}a’ ${a}a,因为’’会消除特殊字符的意义。
6>: #echo ‘\${a}a’ \${a}a
删除变量:unset 变量名 eg: unset a
还可以设置变量为只读变量 readonly a=3
也可以允许用户从键盘输入,实现程序交互:read a
echo $? 用于显示上一条命令的执行结果(0 表示成功,1 表示失败),
或者函数返回值。
示例1
- 环境变量
shell常见的系统变量解析:
n 当前程序的第n个参数,n = 1, 2 …
# 当前程序的参数个数(不包括程序本身)
UID 当前用户的ID
$PWD 当前所在的目录
执行结果1 示例2
执行结果2
echo $?
// 这个命令使用的情况会比较多,可以判断上一条命令是否输入正确。
//只有返回值为0 的情况下 才是输入正确 返回值为其他值的话则为输入错误。
菜单栏的编写:
示例3
执行结果3
2、shell编程的if条件语句的学习
在Linux Shell 编程中,if、for、while、case等条件流程控制语句用的非常多,把这些字好,对提升脚本的功力有非常大的帮助。下面将逐个来讲解具体的用法。
(1)if 条件判断语句
if (表达式) #if (Variable in Array)
语句1
else
语句2
fi
(( )) //两个小括号在shell脚本中是对比判断 在比较大小中会用到的比较多
举个简单例子
执行结果
if示例2if
-f 判断文件是否存在 if [ ! -f /tmp/test.txt]; then
-d 判断目录是否存在 if [ ! -f /tmp/622]; then
-gt 判断是否大于
执行结果
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言
。
JSON建构于两种结构:
- “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
- 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以 {左括号
开始, }右括号
结束。每个“名称”后跟一个 :冒号
;“‘名称/值’ 对”之间使用 ,逗号
分隔。
网友评论