shell脚本如何重复执行命令?

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
简要来讲,shell脚本就是 .sh 结尾的文件,在Linux系统中经常被用到。

问题 如何使用 Shell 脚本执行多条命令呢?

我们需要遵从以下三个原则:
1.每个命令之间用 ; 隔开
说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
3.每个命令之间用 || 隔开
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。
【注意】根据以上的描述,我们其实可以根据我们的具体任务来进行书写 .sh 脚本文件,来方便我们的开发,一般情况下我们常用的就是 && 用来保证每条命令都顺利执行。

保存后,修改 test.sh的权限
chmod +x ./test.sh //注意 ./ 为当前文件夹,这个是必须要带上的,除非你的 sh 脚本是系统启动就运行的,否则尽量带上当前目录的标识
有时候,我们想计算脚本运行的时间,这个时候,我们可以按照以下进行统计:

需要【注意】:date和后面的+之间有空格

以上就是使用 Shell 脚本一次性执行多条语句,并可以统计时间,希望可以帮到您!!!

【更多 shell 操作推荐教程进入】

通过命令行执行初始化sql脚本是比较常见的需求,命令行下执行如下操作即可:

若是执行的命名只是创建用户,编辑用户,创建数据库的话可以不指定-d参数。

 
 
c . \l 列出所有数据库的名字
\l+ 列出所有数据库的名字以及字符集编码
列出表/索引/序列/视图/系统表
- - 列出表/索引/序列/视图/系统表
\dt - - 列出数据库中所有表

在PostgreSQL中删除重复记录其实很简单,不论有多少行重复,只要在要删除重复记录的表中table加一列rownum字段( id为table表中的主键) ,类型设置为serial类型即可,然后执行sql

 

最后删除列rownum即可

在终端输入psql 会使用默认的方式连接本地数据库,使用的用户名是登陆linux系统使用的用户名,


  

连接成功之后所有的命令都是使用”\“+ 字符或者word完成相应的功能。现将常用的几个列车

\dt 列出连接数据库中所有表

\di 列出连接数据库中所有index

\dv 列出连接数据库中所有view

\? \ 所有命令帮助

可以尝试执行下面两句sql


  

是不是nothing happened,这是因为postgresql数据库要求必须使用;结尾否则不予执行,加上;之后就能看到结果了。

如果我们想创建数据库怎么办呢?

我们知道createdb和dropdb可以创建和删除数据库,但是如果我们这个时候执行出现什么问题呢?可以试一试,提示是个错误。

 
 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

这篇文章主要介绍了shell之定时周期性执行脚本的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

ron作业,不会马上执行,至少要过2分钟才执行。如果重启cron服务则会马上执行。

@monthly 代表每天、每周、每月一次。你也可以使用数字:1 - 每天、7 - 每周、30- 每月,或者N - 几天。 anacron程序用此条目来检查作业的时间戳文件

  • delay - 这是在执行一个任务前等待的分钟数。
  • identifier - 条目是一种特别的非空字符串,如cron-weekly。它用于唯一标识日志消息和错误邮件中的作业。

anacron 会检查任务是否已经在period字段执行的时间被执行了,如果没有,则等待delay字段中指定的分钟数后,执行command字段中指定的命令。

一旦任务被执行,它会使用 job-id (时间戳文件名)字段中指定的名称将日期记录在 /var/spool/anacron 目录中的时间戳文件中。

cron是linux自带的守护进程,用来重复运行哪些被设定好了确定的运行时间的任务,如果机器处于关机状态并错过了任务执行时间,这个任务就无法执行了
crontab(cron table的简称)既可以指cron用来定期执行特定任务所需要的列表文件,又可以指用来创建、删除、查看当前用户(或者指定用户)的crontab文件的命令。
anacron不是守护进程,可以看做是cron守护进程的某种补充程序,anacron是独立的linux程序,被cron守护进程或者其他开机脚本启动运行,可以每天、每周、每个月周期性地执行一项任务(最小单位为天)。适合于可能经常会关机的机器,当机器重新开机anacron程序启动之后,anacron会检查anacron任务是否在合适的周期执行了,如果未执行则在anacron设定好的延迟时间之后只执行一次任务,而不管任务错过了几次周期。举个例子,比如你设定了一个每周备份文件的任务,但是你的电脑因为你外出度假而处于关机状态四周,当你回到家中开机后,anacron会在延迟一定时间之后只备份一次文件。由于发行版的不同,cron守护进程如何运行anacron会有所不同。

适合服务器 适合桌面/笔记本电脑
可以让你以分钟级运行计划任务 只能让你以天为基础来运行计划任务
关机时不会执行计划任务 如果计划任务到期,机器是关机的,那么它会在机器下次开机后执行计划任务
普通用户和 root 用户都可以使用 只有 root 用户可以使用(使用特定的配置启动普通任务)

cron 和 anacron 主要的区别在于 cron 能在那些持续运行的机器上有效地运行,而 anacron 是针对那些会在一天内或者一周内会关机的机器。

我要回帖

更多关于 linux执行脚本 的文章

 

随机推荐