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基本知识的更多相关文章

  1. Linux shell基础知识(上)

    Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...

  2. Linux Shell 基础知识(一)

    1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 ​ GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...

  3. linux shell基本知识 sleep命令

    在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小时) sleep 睡眠1秒 sleep 1s 睡眠1秒 sleep 1m 睡眠1分 sleep 1h 睡眠1小时

  4. Linux Shell基础知识

    一.文件系统和安全 chmod命令 chmod命令有两种模式,一种是符号模式,用ugo执行用户,用rwx执行权限:另一种是绝对模式,用八进制不同位置的不同值来代表不同用户的不同权限. 符号模式 chm ...

  5. Linux Shell 基础知识(二)

    1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当 ...

  6. Linux Shell 小知识

    ${} ——变量替换 通常 $var 与 ${var} 没有区别,但是用 ${} 会比较精确的界定变量名称的范围. name='Ace' echo "result1: my name is ...

  7. linux shell脚本相关知识

    最近的项目中,有一个编写linux shell脚本的任务.由于之前不是很熟悉,在这个过程中遇到了很多困难,查找了很多资料,也收获了很多.下面是linux shell脚本中常用的知识总结. 1基础语法 ...

  8. Linux运维知识之linux shell date 用当天时间做备份文件名

    本文主要向大家介绍了Linux运维知识之linux shell date 用当天时间做备份文件名,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. #!/bin/bash #dat ...

  9. Linux Shell 通配符、元字符、转义符【转帖】

    作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1   1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt  ...

随机推荐

  1. [Codeforces671D]Roads in Yusland

    [Codeforces671D]Roads in Yusland Tags:题解 题意 luogu 给定以1为根的一棵树,有\(m\)条直上直下的有代价的链,求选一些链把所有边覆盖的最小代价.若无解输 ...

  2. 题解-bzoj4061 CERC-2012Farm and Factory

    Problem Please contact lydsy2012@163.com! 题意概要:给定\(n\)点\(m\)边无向图,设定两个起点为\(1,2\),现要求在图中增加一个点,并将这个点与其他 ...

  3. 获取图片的EXIF信息

    对于专业的摄影师来说,Exif信息是很重要的信息,也包含了非常多的东西 1.EXIF EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照 ...

  4. ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)

    背景 老生常谈,为sql当时着迷了,啥都用sql解决.看这个语句,麻烦的. ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row ...

  5. httplib urllib urllib2 pycurl 比较

    最近网上面试看到了有关这方面的问题,由于近两个月这些库或多或少都用过,现在根据自己的经验和网上介绍来总结一下. httplib 实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更 ...

  6. python多线程threading下载示例

    #coding:utf-8 # windows中测试不通过,下载的图片不完整 # 通过多线程下载图片 import requests import threading class downloader ...

  7. signal & slot

    The Qt signals/slots and property system are based on the ability to introspect the objects at runti ...

  8. Linux i2c 读写程序

    /* This software uses a BSD license. Copyright (c) 2010, Sean Cross / chumby industriesAll rights re ...

  9. 路由跟踪表满,日志报错nf_conntrack: table full, dropping packet.

    “连接跟踪表已满,开始丢包”!相信不少用iptables的同学都会见过这个错误信息吧,这个问题曾经也困扰过我好长一段时间.此问题的解决办法有四种(nf_conntrack 在CentOS 5 / ke ...

  10. awk-for循环简单用法

    文本: [root@VM_0_84_centos ~]# cat sshd.txt 1 2 3 4 5 6 7 8 9 循环打印上述文本 for 循环的固定格式   i=1设置i的初始变量  i< ...