bash 基础
bash是一些基本的命令组成,要想学好bash脚本,基本命令是必须要记住
红色标记为着重点
1执行命令,利用状态返回值来判断
0 : 成功
1-255:失败
2: 测试表达式
[ expression ] 常用
[[ exprseeion ]]
bash 的测试类型
字符串字型 文件字型
测试数值:比较大小
-eq : 是否等于 [ $1 -eq $2 ]
-ne : 是否不等于 [ $1 -ne $2]
-gt : 是否大于 [ $1 -gt $2 ]
-ge : 是否大于等于[ $1 -ge $2 ]
-lt : 是否小于 [ $1 -lt $2 ]
-le : 是否小于等于 [ $1 -le $2 ]
字符串测试。字符串比较
==: 是否等于
> :是否大于
< : 是否小于
! = :是否不等于
=~: 左侧字符串的字符能够被右侧的pattern所匹配
-z " string" 判断指定的字符串是否为空。空则为真,不空则假
-n "string" 判断指定的字符串是否为不空。不空则为真,不空为假
注意:
(1) 字符串要加引号
(2) 在作字符串的比较的时候,格式如下:
if [ "$VARIABLE" == "$VARIABLE" -a "$VATIABLE" == "CPU" ];then 需要在运算符号两边有空格 ,并且使用双引号将字符串包裹起来,这样即使是变量也可以替换
文件测试
存在性测试
-a file //a -a b (:和)
-e file //检测存在性
文件的存在性测试,存在为真,否则为假
文件类型测试
-b file:是否存在并且为块设备文件
-c file:是否存在并且为字符设备文件
-d file:是否存在并且为目录文件
-f file:是否存在并且为普通文件
-h/l file:是否存在并且为符号链接文件
-p file:是否存在并且为管道文件
-S file:是否存在并且为套接字文件
文件权限测试
-r file:是否存在并且为当前用户可读
-w file:是否存在并且为当前用户可写
-x file:是否存在并且为当前用户可执行
特殊权限测试
-u file:是否存在并且为拥有SUID权限
-g file:是否存在并且为拥有GUID权限
-k file:是否存在并且为拥有Sticky权限
文件是否有内容
-s file:是否存在并且有内容
变量是否有为空,为空则为真
-z ""$VARIABLE"
文件的时间戳测试
-N file:文件自从上次被读取后是否修改过
从属关系测试
-O file:当前用户是否为文件的属主
-G file:当前用户是否属于文件的属组
双目测试
file1 -ef file2:是否为同一文件系统上的指向同一iNode的硬链接
file1 -nt file2:file1 是否新于file2
file1 -ot file2:file1 是否旧于file2
组合条件测试
特殊变量
$0:脚本文件路径名称本身
$#:保存了脚本参数的个数
$*:所有参数
$@:所有参数
bash 基础的更多相关文章
- cmd 与 bash 基础命令入门
身为一个程序员会用命令行来进行一些简单的操作,不是显得很装逼嘛!?嘿嘿~ ヾ(>∀<) cmd 与 bash 基础命令入门 简介 CMD 基础命令 ...
- Bash基础——减号-
参考:Bash基础——pipe pipe命令在 bash 的连续的处理程序中相当重要.在pipe命令当中,常常会使用到前一个命令的 stdout 作为这次的 stdin , 某些命令需要用到文件名 ( ...
- Linux就该这样学--之常用linux命令及bash基础
Linux就该这样学--之常用linux命令及bash基础 Linux命令 管道 重定向 环境变量 常用命令 常用系统工作命令 系统状态检测命令 工作目录切换命令 文本文件编辑命令 文件目录管理命令 ...
- linux文件系统及bash基础特性
linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重 ...
- bash 基础命令
bash的基础特性(): () 命令历史 history 环境变量: HISTSIZE:命令历史记录的条数: HISTFILE:~/.bash_history: HISTFILESIZE:命令历史文件 ...
- Git Bash基础使用(初始化)
前提是在码云上已经新建一个空的项目,可参考:https://www.cnblogs.com/babysbreath/p/9170455.html 1.新建一个目录,存放下载下来的项目,我在D盘新建了一 ...
- bash基础——grep、基本正则表达式、扩展正则表达式、fgrep
grep grep全称:Globally search a Regular Expression and Print 全局搜索正则表达式 正规表达式本质上是一种"表示方法", 只要 ...
- Linux系列(10):入门之bash基础与bash环境设置
了解什么是shell吗? 知道如何查询当前系统支持的shell版本吗? 了解如何判断某个指令是否是bash的内置指令吗? 了解Linux的变量吗,知道如何定义与删除变量吗,知道如何赋值吗,知道如何获取 ...
- bash基础
bash 是一个为GNU计划编写的Unix shell.它的名字是一系列缩写:Bourne-Again SHell - 这是关于Bourne shell(sh)的一个双关语(Bourne again ...
- bash基础知识
站在用户登录的角度来说,SHELL的类型:登录式shell: 正常通常某终端登录 su - USERNAME su -l USERNAME 非登录式shell: su USERNAME 图形终端下打开 ...
随机推荐
- Hadoop源码学习笔记之NameNode启动场景流程三:FSNamesystem初始化源码剖析
上篇内容分析了http server的启动代码,这篇文章继续从initialize()方法中按执行顺序进行分析.内容还是分为三大块: 一.源码调用关系分析 二.伪代码执行流程 三.代码图解 一.源码调 ...
- Hadoop源码学习笔记之NameNode启动场景流程二:http server启动源码剖析
NameNodeHttpServer启动源码剖析,这一部分主要按以下步骤进行: 一.源码调用分析 二.伪代码调用流程梳理 三.http server服务流程图解 第一步,源码调用分析 前一篇文章已经锁 ...
- 大数据学习--day16(集合总体架构--ArrayList--LinkedList)
集合总体架构--ArrayList--LinkedList Collection接口的实现类用法上都有相似的方法.Map同理. List: 特性 : 1. 有索引 2. 有序 ...
- Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)
该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...
- Selenium_python自动化跨浏览器执行测试(简单多线程案例)
发生背景: 跨浏览器测试是功能测试的一个分支,用以验证web应用在不同浏览器上的正常工作,通常情况下,我们都期望web类应用能够被我们的用户在任何浏览器上使用,例如有的人喜欢IE浏览器上使用,有的人喜 ...
- vs2013发布网站合并程序是出错(ILmerge.merge:error)
Vs2013发布网站时,生成错误提示: 合并程序集时出错: ILMerge.Merge: ERROR!!: Duplicate type 'manage_ForcePasswrod' found in ...
- BrightScript 3D test - Roku (4)
My initial attempt to port over an old Actionscript program, here it goes in main.brs. Library " ...
- 20155213 第十二周课堂作业MySort
20155213 第十二周课堂作业MySort 作业要求 模拟实现Linux下Sort -t : -k 2的功能 参考 Sort的实现 提交码云链接和代码运行截图 初始代码 1 import java ...
- 20155216 2016-2017-2 《Java程序设计》第二周学习总结
教材学习内容总结 类型 short占2字节 int占4字节 long占8字节 byte占1字节,可表示-128~127的整数 char占2字节 boolean不考虑占字节 float占4字节 doub ...
- 20155319 2016-2017-2 《Java程序设计》第十周学习总结
20155319 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 计算机网络编程概述 网络编程就是两个或多个设备之间的数据交换,其实更具体的说,网络编程就是两 ...