学习shell脚本日记

linux,shell

2015-02-07

1.计划任务:corntab -e 编写计划任务     corntab -l查看计划任务     corntab -r清除所有的计划任务

如果要清除某一项计划任务,就是进入计划任务的编辑页面,逐个删除就可以了

2.任务计划编写与执行

内容:

格式 : 分 时 日 月 年 命令

[[email protected] cPre]# */5 * * * * 命令     #每隔5分钟执行一次

[[email protected] cPre]# 00 09 * * 20 命令      #每周2到周日的9点执行一次命令

[[email protected] cPre]# 00 09 * * 2,3,4 命令      #每个周2,3,4的9点执行一次命令

3.linux下的反引号作用

date=`date "+%Y-%m-%d"`     #反引号,表示反引号内的命令作为单个个体执行完之后再赋值

tar czf web-${date}.tar.gz web     # $号的输出格式

4.shell的变量类型与应用

a. 区分大小写 不能以数字开头

b. 格式 : 变量名 = 变量值          #变量提高代码灵活度   (** 在linux中,变量赋值的指令之间不能带有空格)

c.  输出变量

echo "输出内容"

name=‘liangi‘

echo $name

echo "my name is ${name}"     #注意$符号的使用

d. 变量的赋值

输入赋值:  read -p “Please inout your name: ”  name    #将输入的值赋值给name

echo $name

e.不同的引号为变量赋值 (单双引号都不能引用转移字符)

双引号 " " : 解析变量,就是说,双引号里面的时变量

单引号 ‘ ‘ :  不能解析变量,里面的变量不能解析出来

反引号 ` ` : 把反引号里的命令执行出来再赋值

f.删除变量

unset name

定义变量使用了之后,把变量删除unset之后,又可以重新赋值

2015-02-08

1. 位置变量

位置变量是先在脚本里定义好位置变量数,在执行的时候就是

# ./loca.sh 1 sd d f  h

然后在接下来的输出中就会显示所定义的位置变量

2. 预定义变量

将所有在学预定义变量的时候,所作的笔记注释粘贴出来

--start--

#!/bin/bash
#预定义变量测试与学习
#这个程序调试了很久,出错原因主要是写程序的时候粗心出错,还有的就是空格的问题,shell的空格很讲究的,就像是在终端输入命令。因此,在写linux-shell脚本的>时候就当是在终端中输入linux命令一样,讲究格式,以一颗在linux下输入命令的心去写linux脚本
echo $0 #,显示当前脚本的名称

echo "你当前脚本的名称是:$0"
echo $# #获取所有参数个数
echo ‘我是歌手‘
echo $* #列出变量是什么
ls
echo $? #回馈上一条命令是否执行正确,正常,则返回0
total=0

for i in $*; do
total=$(($total+$i)) #将每个预定义变量相加,预定义的变量必须是数字才能相加
echo $total
done

echo $total
if [[ $? == 0 ]]; then
echo ‘上条命令执行成功‘
else
echo ‘上条命令执行不成功‘
fi # 标注出有问题的 程序
~

--end--

3.shell脚本的运算

expr 20 + 30      #空格要注意

number=`expr 20 + 30 / 2`     #引用命令结果需要加上反引号

echo $((2 + 3 +4))

4. shell脚本的输入与输出

echo -e "sjdk \n ds"     #-e解析输出引用的转移字符

echo -n "dsjk"               #执行完该命令之后,光标不换行

同:

read -p "Please Input Your Name: " name

echo $name

echo                #直接输出的是空行

脚本输出字体颜色--(需要echo -e才能识别)

语法

echo -e "\033[32;40m[ok]\033[0m"

\033[前景颜色;背景颜色m

\033[0m     #0m代表恢复到系统配色方案

代码要写全

颜色:

30-37 代表前景颜色 黑红绿棕蓝紫青白

40-47 代表背景颜色 黑红绿棕蓝紫青白

5.

cat 查看

cat<<x

aaaa

x                         #将任意字符xx里面的原样输出-->可以用来做菜单

head 查看前十行

head -2 查看前2行

tail 查看后10行

tail -2 查看后2行

tee 输出一份,还会保存一份

./te.sh | te.txt     #保存在当前目录

nl 在输出的文本前面标出行号

时间: 2024-10-11 06:20:23

学习shell脚本日记的相关文章

学习 shell脚本之前的基础知识

转载自:http://www.92csz.com/study/linux/12.htm  学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富.笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要

学习shell脚本之前要掌握的知识

学习SHELL脚本之前的知识 1)记录命令历史 我们敲过的命令,linux是会有记录的,预设可以记录1000条历史命令.这些命令保存在用户的家目录中的.bash_history文件中.有一点需要你知道的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中. 与命令历史有关的有一个有意思的字符那就是"!"了.常用的有这么几个应用:(1)!! (连续两个"!"),表示执行上一条指令:(2)!n(这里的n是数字),

学习shell脚本笔记

1.if 是单分支语句,使用格式如下: if condition ; then statement -.. fi 2.if - else 是双分支语句,使用格式如下: if condition ; then statement -. else statement -. fi 3.if -elif-elif-else 是多分支语句,使用格式如下: if condition ; then statement -. elif condition ; then statement -.. elif co

linux运维学习shell脚本监控nginx服务

菜鸟学习shell脚本后,动手练手简单小实验,使用shell脚本判断nginx是否正常运行,如果没有运行将nginx服务启动起来. 一.基于进程判断 1.获取nginx进程来判断该服务是否正常启动. ps -ef | grep nginx | grep -v grep | wc -l    输出进程行数 然后判断是否为2 如果不是说明该服务没有启动. grep -v grep  用来排除掉您所使用grep产生的进程. 2.shell 脚本编写 先定义一个变量Web #!/bin/bash Web

学习Shell脚本编程(第4期)_在Shell程序中的使用变量

变量的赋值 变量的访问 变量的输入 4.1 变量的赋值     在Shell编程中,所有的变量名都由字符串组成,并且不需要对变量进行声明.要赋值给一个变量,其格式如下: 变量名=值  注意: 等号(=)前后没有空格 例如: x=6 a="How are you " 表示把6赋值给变量x,字符串"How are you "赋值给变量a. 4.2 访问变量值 如果要访问变量值,可以在变量前面加一个美元符号"$",例如: [[email protect

学习Shell脚本编程(目录)

所涉及的内容如下: Shell命令行的运行 编写.修改权限和执行Shell程序的步骤 在Shell程序中使用参数和变量 表达式比较.循环结构语句和条件结构语句 在Shell程序中使用函数和调用其他Shell程序 目录如下: ...... 学习Shell脚本编程(目录)

学习Shell脚本编程(第2期)_编写修改权限及执行Shell程序的步骤

编写Shell程序 执行Shell程序 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序.在执行的时候,通过Linux操作系统一个接一个地解释和执行每条命令.首先,来编写第一个Shell程序,从中学习Shell程序的编写.修改权限.执行过程. 2.1 编辑Shell程序 编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下. [[email protected] bin]#v

学习Shell脚本编程(第1期)_Shell命令行书写规则

Shell命令行的书写规则 对Shell命令行基本功能的理解有助于编写更好的Shell程序,在执行Shell命令时多个命令可以在一个命令行上运行,但此时要使用分号(:)分隔命令,例如: [[email protected] root]# ls a* -l;free;df 长Shell命令行可以使用反斜线字符(\)在命令行上扩充,例如: [[email protected] root]# echo "this is \ >long command" This is long com

学习Shell脚本编程(第3期)_在Shell程序中使用的参数

位置参数 内部参数 如同ls命令可以接受目录等作为它的参数一样,在Shell编程时同样可以使用参数.Shell程序中的参数分为位置参数和内部参数等. 3.1 位置参数 由系统提供的参数称为位置参数.位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,Linux会把输入的命令字符串分段并给每段进行标号,标号从0开始.第0号为程序名字,从1开始就表示传递给程序的参数.如$0表示程序的名字,$1表示传递给程序的第一个参数,以此类推. 3.2 内部参数 上述过程中的$0是一个