linux shell基本知识

shell script的一些注意事项:
1、#这个符号是注释本行,通常用来做批注用,#!除外,是用来标注用哪种shell执行本脚本,
2、执行顺序为从上到下,从做到右
3、忽略空行,tab空格
4、脚本换行用 \ 然后接着在下一行继续写代码

shell script执行所需权限

chmod 755 或者 chomod r+x 都可以。

shell script 执行三方法

1、sh script_path  这种方法执行后,脚本里面的变量外部不可饮用
2、本目录下使用  ./script_name  【推荐使用】
3、source script_path 

shell批注的良好习惯

1、需要批注该shell的功能
2、批注版本信息
3、批注作者及联络方式
4、版权宣告
5、简单的历史更改记录
6、运行环境变量宣告告知

除此之外,重要代码段也要使用批注,增加可读性和可维护性

交互式脚本(对谈式)

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可以自动换返回结果

如何判断?
1、test指令 加 选项 加参数
2、[选项 + 参数]; 例如[ -f file1.txt ];echo "xxx",注意这里面的每一个组件都要用空格隔开

$# $0 $1 $2 $3 $4 [email protected] 分别代表 参数数量,脚本名称,参数1,参数2,参数3,参数4 ,所有参数

if常用判断式
if ;then
    指令
if
时间: 2024-10-16 07:36:46

linux shell基本知识的相关文章

linux shell基本知识 sleep命令

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

2016-7-2 Linux shell基础知识

静态语言:编译型语言 强类型(变量) 事先转换成可执行格式 c c++ java c# 强类型语言的变量在使用前,必选事先声明,甚至需要初始化 动态语言:解释型语言 弱类型 边解释边执行 php shell python 弱类型语言,变量声明时,甚至不区分类型 编程能力: 脚本编译 变量类型:事先确定数据的存储格式和长度的 1Byte=8b   1(Byte)字节=8位(bit) 字符型 数值型 整型 浮点型 Bash变量类型 环境变量 本地变量(局部变量) 位置变量 特殊变量:$? 本地变量:

Linux Shell基础知识

一.文件系统和安全 chmod命令 chmod命令有两种模式,一种是符号模式,用ugo执行用户,用rwx执行权限:另一种是绝对模式,用八进制不同位置的不同值来代表不同用户的不同权限. 符号模式 chmod命令的格式为 chmod [who] operator [permission] filename 其中[who]的取值可以为 1 u:文件属主的权限 2 g:用户所在组的权限 3 o:其他用户权限 4 a:所有用户权限 5 如果省略[who]参数,会同时为u和g设置权限,即同时为属主和用户所在

学习笔记(十一)——Linux Shell 基础知识

1. shell 特性: 使用 history 命令查看命令历史: [[email protected] ~]# history 用户的 history 记录位于用户家目录下 .bash_history 文件中: [[email protected] ~]# vim ~/.bash_history 有关 history 的相关快捷操作: [[email protected] ~]# !!    //上一条命令 [[email protected] ~]# !$    //上一条命令的最后一个参数

【Linux学习笔记】第8章 Linux shell基础知识

8.1shell介绍shell是一个命令解释器,提供人机交互.支持特定语法.每个用户都可以有自己特定的shell(bash).CentOS7默认bash(Bourne Agin Shell).其他还有zsh.ksh等. 8.2命令历史命令历史存放于~/.bash_history文件下.history 查看之前用过的命令,默认保存最近1000条,由变量HISTSIZE设定条数,HISTSIZE可以到配置文件/etc/profile中去配置,配置后需要source才会生效.history -c 清空

《跟老男孩学Linux运维之shell编程实战》-第三章 shell变量知识进阶

本文讲解shell变量知识进阶. 以下为知识点的总结,关于练习,本文不不涉及,还需要各位小伙伴自己练习! 1.shell中的特殊位置参数变量,请见下表: 在企业场景下,"$?"的用法: (1)判断命令.脚本或函数等程序是否执行成功: (2)若在脚本中调用执行"exit 数字",则会返回这个数字给"$?"变量: (3)如果是在函数里,则通过"return  数字",把这个数字以函数返回值的形式传给"$?".

【Linux系列】【基础版】第三章 Shell基础知识

3. Shell基础知识     3.1 Shell的由来         3.1.1 Bourne Agin Shell         3.1.2 其他的shell, 有 zsh, ksh等     3.2 查看有没有shell         3.2.1 yum list | grep zsh         3.2.2 ls /root/.bash_history         3.2.3 echo $HISTSIZE -> vi /etc/profile 修改HISTSIZE的值 -

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

Linux shell脚本基础学习详细介绍(完整版)二

详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu