Linux基本操作命令(六)

此博客主要围绕Linux操作命令展开,但具体内容缺失。推测会涉及各类实用的Linux命令,帮助用户更好地进行系统操作与管理,在信息技术领域,Linux命令是系统运维、开发等工作的重要基础。
Shell脚本
	shell脚本的工作方式有两种:
		1.交互式:用户输入一条命令就立即执行。
		2.批处理:由用户事先编写好一个完整的shell脚本,shell会一次性执行脚本中诸多的命令。
		
	编写简单的shell脚本
		使用vim example.sh创建脚本文件,文件名称可以自定义,在文件中编辑如下内容:
			#!/bin/bash 	-- shell脚本固定开头行,#!是用来告诉系统使用哪种shell解释器来执行该脚本,
			pwd				--要执行的命令
			ls -al
		使用bash example.sh命令执行脚本,会有如下输出信息:
			/opt/bashScript
			总用量 4
			drwxr-xr-x. 2 root root 24 5月  17 19:19 .
			drwxr-xr-x. 3 root root 40 5月  17 18:53 ..
			-rwxr--r--. 1 root root 51 5月  17 19:19 example.sh
		
	接收用户参数
		在shell脚本中可以设置接受外部参数的变量,
			$0:对应脚本文件的名称。
			$#:对应总共接受了多个个参数。
			$*:对应所有的参数值。
			$1,$2,$3:对应每个位置的参数值。
			在example.sh 输入如下命令(必须用双引号,单引号解析不出来):
				echo "当前脚本名称为$0"
				echo "总共有$#个参数,分别是$*"
				echo "第一个参数为$1,第二个参数为$2,第三个参数为$3"
			执行命令:bash example.sh  one two three
			输出信息如下:
				当前脚本名称为example.sh
				总共有3个参数,分别是one two three
				第一个参数为one,第二个参数为two,第三个参数为three
	
	判断用户的参数
		系统在执行mkdir命令创建目录的时候回判断用户输入的信息,判断目录是否存在,存在就会报错,shell脚本中的条件测试语法可以判断表达式是否成立。成立则返回0,否则返回其他随机数。
		测试语句格式 [ 条件表达式 ]
		按照测试对象来划分,条件测试语句有四种:
			1.文件测试语句
			2.逻辑测试语句
			3.整数值比较语句
			4.字符串比较语句
			
			文件测试所用的参数:
				-d :测试文件是否为目录类型
				-e :测试文件是否存在
				-f :判断是否为一般文件
				-r :测试当前用户是否有权限读取
				-w :测试当前用户是否有权限写入
				-x :测试当前用户是否有权限执行
				执行命令[ -d /opt/bashScript ] 判断是否为目录类型,然后通过shell内设的$?变量显示上一个命令的执行后的返回值来进行判断。
				[root@linux bashScript]# [ -d /opt/bashScript ]
				[root@linux bashScript]# echo $?
				0
				执行命令[ -f /opt/bashScript ] 判断是否为一般文件,然后通过shell内设的$?变量显示上一个命令的执行后的返回值来进行判断。
				[root@linux bashScript]# [ -f /opt/bashScript ]
				[root@linux bashScript]# echo $?
				1
			
			逻辑语句是对测试结果进行逻辑分析,根据测试结果可以实现不同的效果,shell中逻辑运算符与“&&”表示当前面的命令执行成功后才会执行后面的命令,判断文件是否存在
				[ -e /opt/bashScript ] && echo "存在"
				[root@linux bashScript]# [ -e /opt/bashScript ] && echo "存在"
				存在
				逻辑运算符或”||“表示前面的命令执行失败后才会执行后面的命令,判断用户是否是root
				[ $USER = root1 ] || echo "user"
				[root@linux bashScript]# [ $USER = root1 ] || echo "is root"
				is root
			
			整数运算符仅是对数字的操作,不能将数字,字符串与文件等内容一起操作。而且不能直接使用 > ,<,=等这些符号来判断。在linux中这些符号与命令符冲突。
				整数比较运算符:
					-eq :是否等于
					-ne :是否不等于
					-gt :是否大于
					-lt :是否小于
					-le :是否小于或等于
					-ge :是否大于或等于
				测试10是否大于10
				[root@linux bashScript]# [ 10 -eq 10 ]
				[root@linux bashScript]# echo $?
				0
				[root@linux bashScript]# [ 10 -lt 10 ]
				[root@linux bashScript]# echo $?
				1

			字符串比较语句用户判断测试字符串是否为空值,或两个字符串是否相同。经常用来判断某个变量是否未被定义。
				字符串比较运算符:
					= :比较字符串内容是否相同
					!= :比较字符串内容是否不同
					-z :判读字符串内容是否为空
				[root@linux bashScript]# [ -z $String ]
				[root@linux bashScript]# echo $?
				0
				[root@linux bashScript]# echo $LANG
				zh_CN.UTF-8
				[root@linux bashScript]# [ $LANG != "en.US" ] && echo 'not en.US'
				not en.US
				
							
			
			

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值