linux shell基本知识
shell script的一些注意事项:
、#这个符号是注释本行,通常用来做批注用,#!除外,是用来标注用哪种shell执行本脚本,
、执行顺序为从上到下,从做到右
、忽略空行,tab空格
、脚本换行用 \ 然后接着在下一行继续写代码 shell script执行所需权限 chmod 或者 chomod r+x 都可以。 shell script 执行三方法 、sh script_path 这种方法执行后,脚本里面的变量外部不可饮用
、本目录下使用 ./script_name 【推荐使用】
、source script_path shell批注的良好习惯 、需要批注该shell的功能
、批注版本信息
、批注作者及联络方式
、版权宣告
、简单的历史更改记录
、运行环境变量宣告告知 除此之外,重要代码段也要使用批注,增加可读性和可维护性 交互式脚本(对谈式) read指令,可以很好地获得用户输入并赋值给指定变量
例子: read -p “请输入你的名字” firstname 这样窗口就会提示你输入,病把你的内容赋值给first变量
继续运行。下面的脚本就可以使用该变量了 srcipt中文件名按照日期处理,动态获取日志拼接指定字符串即可形成
自己想要的规范标准文档名,通常用在备份文件等功能。 date指令
常用 date +%Y%m%d
赋值给变量 例:date1=$(date +%Y%m%d) #今天日期
date2=$(date --date='2 days ago' ++%Y%m%d) #2天前日期 shell scipt内基本的运算方法 先定义a变量和b变量 指令 $((${a}*${b})) 善用判断式,巧妙利用shell自带的一些变量发现问题 如$? 代表上一条指令执行的记过,成功为0
echo $? 即可查看 test指令,直接的判断方法,很好用
判断目录 -d 判断文件-e 或者 -f 例子:test -f index.html && echo "exist" ||echo "not exist"
说明 判断当前目录index.html文件是否存在,存在则输出exit,否则输出not exist
&&的意思是成功的话执行后面的指令,否则跳过。 文件或目录常用测试的一些常用标志 -e 判断文件或目录
-f 判断普通文件
-d 判断目录 文件权限常用判断方法 -r 判断可读
-w 判断可写
-x 判断可执行
-s 判断是否为非空白文档 文件比较常用 -nt 判断文件新 1比2 新
-ot 判断文件旧 1比2 旧
-ef 是否为同一个文件 整数数值判断 -eq 是否等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于 字符串数据判断 test -z string 判断是否为空
test -n string 判断是否为不为0
test str1 == str2 字符串是否相等
test str1 != str2 字符串是否不相等 或and与
-a 与判断
-o 或判断
! 反向判断 exit可以自动换返回结果 如何判断?
、test指令 加 选项 加参数
、[选项 + 参数]; 例如[ -f file1.txt ];echo "xxx",注意这里面的每一个组件都要用空格隔开 $# $ $ $ $ $ $@ 分别代表 参数数量,脚本名称,参数1,参数2,参数3,参数4 ,所有参数 if常用判断式
if ;then
指令
if
linux shell基本知识的更多相关文章
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
- Linux Shell 基础知识(一)
1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...
- linux shell基本知识 sleep命令
在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小时) sleep 睡眠1秒 sleep 1s 睡眠1秒 sleep 1m 睡眠1分 sleep 1h 睡眠1小时
- Linux Shell基础知识
一.文件系统和安全 chmod命令 chmod命令有两种模式,一种是符号模式,用ugo执行用户,用rwx执行权限:另一种是绝对模式,用八进制不同位置的不同值来代表不同用户的不同权限. 符号模式 chm ...
- Linux Shell 基础知识(二)
1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当 ...
- Linux Shell 小知识
${} ——变量替换 通常 $var 与 ${var} 没有区别,但是用 ${} 会比较精确的界定变量名称的范围. name='Ace' echo "result1: my name is ...
- linux shell脚本相关知识
最近的项目中,有一个编写linux shell脚本的任务.由于之前不是很熟悉,在这个过程中遇到了很多困难,查找了很多资料,也收获了很多.下面是linux shell脚本中常用的知识总结. 1基础语法 ...
- Linux运维知识之linux shell date 用当天时间做备份文件名
本文主要向大家介绍了Linux运维知识之linux shell date 用当天时间做备份文件名,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. #!/bin/bash #dat ...
- Linux Shell 通配符、元字符、转义符【转帖】
作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1 1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt ...
随机推荐
- Spring学习(十八)Bean 的三种依赖注入方式介绍
依赖注入:让调用类对某一接口实现类的依赖关系由第三方注入,以移除调用类对某一接口实现类的依赖.接下来将详细的向大家介绍Spring容器支持的三种依赖注入的方式以及具体配置方法:• 属性注入方法• ...
- linux 系统进程理解
1.为了对进程从产生到消亡的整个过程进行跟踪和描述,就需要定义各种进程的各种状态并制定相应的状态转换策略,以此来控制进程的运行. 不同的操作系统对进程的状态解释不同,但是最基本的状态都是一样 ...
- bootstrap4简单使用和入门03-响应式布局
响应式布局的原理 页面源码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- 使用Filezilla搭建FTP服务器
1.FTP over TLS is not enabled, users cannot securely http://blog.sina.com.cn/s/blog_4cd978f90102vtwl ...
- 前端 ---JS中的面向对象
JS中的面向对象 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 ...
- O(big oh) (big omega) (big theta)
big oh big omega big theta more
- JMS消息队列之ActiveMQ简单示例
废话不多说,在进入主题前先看一张图,对ActiveMQ有个大体的了解: 下面进入主题: 1.添加需要的maven依赖 <!-- active mq begin --> < ...
- 15)django-ORM(多对多关系)
django ORM多对多关系使用 一:多对多关系创建 多对多关系创建:分为两种情况,手动创建和django自动创建 1)手动创建:自定义关系表 通过自定义表,通过models.ForeignKey创 ...
- Confluence 6 从关闭的连接中恢复
当数据库服务器进行重启或者因为网络问题导致连接中断.所有在数据库连接池中的连接都会被中断.希望处理这个问题,通常需要 Confluence 进行重启. 但是,数据库连接池中的连接可以通过运行 SQL ...
- Confluence 6 MySQL 输入你的数据库细节
Confluence 的安装向导将会指导你一步一步的在 Confluence 中配置安装 MySQL 数据库. 使用 JDBC 连接(默认) JDBC 是推荐的连接你的 Confluence 到数据库 ...