三个简单Linux的shell脚本程序编写

三个简单Linux的shell脚本程序编写,第1张

shell脚本和windows平台上的bat批处理是一样的,简化用户处理重复动作的 *** 作,shell脚本由shell命令组成。

工具/原料

vim

ubuntu

方法/步骤

新建一个文件shell脚本一般用×sh作为后缀当然勇气他的也可以。打开终端输入touch firstsh 新建一个名为first的shell脚本。

编写一个简单的linuxshell脚本

使用vim 编辑firstsh也可以用其他的文本编辑器,推荐使用vim

使用命令 vim firstsh打开,输入i进入编辑模式。

编写一个简单的linuxshell脚本

我们写入一个简单的shell脚本,注意第一行的代码解释器的指定,这里使用的是/bin/bash/ 解释器 也可用其他的根据个人情况自己选择。

脚本解释:

echo //显示一串字符并自动换行

read NAME //从屏幕获取一段字符,并赋予NAME

$NAME //取NAME变量的值

# //只用一个#表示注释文本

编写一个简单的linuxshell脚本

文件写完后按下esc键 退出插入模式,接着输入:wq 保存文本并退出文本编辑。

编写一个简单的linuxshell脚本

输入sh + 脚本名称 运行脚本,或给文件可运行权限 chmod +x 然后输入/firstsh运行脚本。

什么是shell

shell是用户和Linux *** 作系统之间的接。Linux中有多种shell,其中缺省使用的是Bash。本章讲述了shell的工作原理,shell的种类,shell的一般 *** 作及Bash的特性。

Linux系统的shell作为 *** 作系统的外壳,为用户提供使用 *** 作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。

shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。

新建文件夹/root/test/,test文件夹中有myCPPcpp,myTEXTtxt,restartsh

该文件的功能是每隔5s往myTEXTtxt中写入当前时间

编译得到可执行文件mycpp: g++ myCPPcpp -std=c++11 -o mycpp

注意有时候因为权限问题会导致shell拉起失败,这里粗暴地开放所有权限 chmod 777 mycpp

shell脚本,检测目标程序是否处于运行状态,如果不运行则将其拉起。

加上crontab就可以让脚本定时执行,一旦发现进程没有运行,则启动该进程,这样就实现了进程的自动拉起。

通过 crontab -e 进入类似vim的 *** 作界面,在文件末尾补充 /1 /root/test/restartsh /root/test/mycpp& ,让restartsh脚本每一分钟运行一次(即每分钟检测一次mycpp是否正在执行)

查看mycpp进程是否在执行 ps -ef | grep mycpp

查看mycpp执行写入的结果 tail -f myTEXTtxt

(1)编写shell程序fileback:

#!/bin/sh

DIRNAME=`ls /root | grep bak`

if [ -z "$DIRNAME" ] ; then

mkdir /root/bak

cd /root/bak

fi

YY=`date +%y`

MM=`date +%m`

DD=`date +%d`

BACKETC=$YY$MM$DD_etctargz

tar zcvf $BACKETC /etc

echo "fileback finished!"

(2)编写任务定时器:

echo "0 0 1 /bin/sh /usr/bin/fileback" >; /root/etcbakcron

crontab /root/etcbakcron

或使用crontab -e 命令添加定时任务:

0 1 /bin/sh /usr/bin/fileback

以上就是关于三个简单Linux的shell脚本程序编写全部的内容,包括:三个简单Linux的shell脚本程序编写、linux下的shell是什么、Linux Shell自动拉起进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9713861.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存