
SHELL
路痴的旅行
一生有你
展开
-
linux中shell的小括号、大括号的用法区别
Linux中小括号()和大括号{}都是对其中的一串命令进行执行,但有一定的区别,其区别如下:1 小括号()①命令组。括号中的命令新开一个子shell程序,括号中的变量为本地变量 ,不能够在脚本其他部分使用。括号中多个命令之间用分号隔开。备注:在括号中的变量,由于是在子shell中,所以对于脚本剩下的部分是不可用的. 父进程, 也就是脚本本身, 将转载 2017-10-24 19:27:58 · 5023 阅读 · 0 评论 -
shell 单实例(2)
为保证单实例运行,采用如下思考方式:通过锁文件和进程ID的有效性进行判断第一步,程序开始运行前,先进性锁文件和文件保存进程ID的有效性判断第二步,程序开始运行,将建立锁文件,并将进程ID写入文件shell 代码如下:# 先建立单实例脚本,保存单实例函数,用于后面脚本的包含和调用# single.sh原创 2017-10-19 22:38:16 · 379 阅读 · 0 评论 -
shell 单实例(1)
一、问题 使该shell脚本正在运行的进程只有一个,确保部分操作的安全性。特别在系统维护脚本,前一个脚本还没完成,后一个检测时间到了,则同一脚本会执行多次。二、详解(1)临时文件[html] view plain copy#!/bin/sh LOCKFILE="/转载 2017-10-19 14:45:17 · 246 阅读 · 0 评论 -
shell for循环1到100
用bash shell写程序时,经常会用到for循环,特别是从1到100这种需求,这里记录几种shell中从1到100的循环方法方法(1) 类c语言for ((i=1; i<=100; i ++)) do echo $i done (2) in使用for i in {1..100} do echo $i done (3) seq使用作用seq - p...转载 2018-07-10 23:10:03 · 7503 阅读 · 0 评论 -
shell重定向
$ command > file 2>&1$ command >> file 2>&1这里的&没有固定的意思放在>后面的&,表示重定向的目标不是一个文件,而是一个文件描述符,内置的文件描述符如下1 => stdout2 => stderr0 => stdin换言之 2>1 代表将stderr重定向到当前路转载 2018-07-14 11:06:30 · 255 阅读 · 0 评论