Shell编程中的特殊变量之位置变量介绍
1、$0 获得当前脚本的文件名,包括路径。复制代码 代码如下:
#写一个测试脚本
vim test.sh
#内容如下
dirname$0
basename$0
#执行一下
bash$(pwd)/test.sh
#输出如下
/home/j...
1、$0 获得当前脚本的文件名,包括路径。复制代码 代码如下:
#写一个测试脚本
vim test.sh
#内容如下
dirname$0
basename$0
#执行一下
bash$(pwd)/test.sh
#输出如下
/home/j...
此脚本已经在ubuntu以及centos版本上测试通过,脚本如下:
复制代码 代码如下:
#!/bin/bashLine='==========='#linux发行版名称
if [[ -f /usr/bin/lsb_release ]]; then
OS=$...
工作中有时需要对比文件是否一致,通过以下脚本可以实现(比较简单):分享出来,希望能帮助到有同样需求的朋友~复制代码 代码如下:
#!/bin/bash
#对比服务器上文件是否一样
# Rich...
最近对linux批量执行的脚本很感兴趣,在网上到处找有关expect批量执行脚本,今天就给大家共享一个批量修改密码的脚本.脚本内容:
复制代码 代码如下:
#!/usr/bin/expect
if {...
今天公司同事来找到我说要在服务器上用另外一个用户执行python脚本,但设置到crontab里却老是root用户来执行,为了省事我就想了一个偷懒的办法,就是用shell脚本切换到那个用...
最近在调试服务器的iptables,自己做了个定时关iptables,但晚上回家很少开电脑,所以就没法去启动iptables,当然你可能会说,为什么不取消定时关闭iptables,我只能说个人的环境...
前几天写的七牛的参赛demo,用bash写了一个便捷安装的脚本,涉及到了路径相关的判断,从stackoverflow,加上自己的实践整理一下。简单版下面是一个最简单的实现,可以解决大多数问题,...
1.显示消耗内存/CPU最多的10个进程
复制代码 代码如下:
ps aux | sort -nk +4 | tail
ps aux | sort -nk +3 | tail
2.查看进程
按内存从大到小排列
复制代码 代码如下:
ps...
创建随机数的方法:
复制代码 代码如下:
1~~~~
/dev/urandom
在Linux中有一个设备/dev/urandom是用来产生随机数序列的。利用该设备我们可以根据在需要生成随机字符串。比如...
为确保php页面在后台运行,写了一个监控脚本,假设程序异常退出,那么可以自动重启。shell脚本/usr/local/scripts/receve.sh内容:#!/bin/bash#funtion:keep receve.php runningPHP...
在Linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法。为了给大家一个直观的感受,我们将通过生成一个大的文件的方...
复制代码 代码如下:
#!/bin/bash
if [ $1 -gt $2 ]
then echo "$1>$2"
else echo "$2>$1"
fi
# 数字判断一些命令
#-gt是大于的意思
#-lt是小于
#-eq是等于
#-ne是不等于
#-...
作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名、ip信息、网关等配置。修...
tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换。语法:tr [–c/d/s/t] [SET1] [SET2] #SET1: 字符集1;SET2:字符集2
-c:complement,用SET2替换除SET...
最近本地虚拟机的空间老是被备份给占满,为了偷懒不想自己天天登录上去清除,才写了这个自动清理脚本.系统:centos 5.x脚本内容:cat make_room.sh复制代码 代码如下:
#!/bin/b...
最近看了一篇通过nagios实现MD5实时监控iptables状态的文章,就想是否可以用shell也做到监控iptables规则改变,经过实验,就有了下面这个脚本.系统:centos 5.x脚本内容:cat ch...
复制代码 代码如下:
useradd.sh#!/bin/bash
for name in tom joy john mark james
do useradd $name
echo "redhat" | passwd --stdin $name
done
好了,执行结束后会自...
客户的要求,不想让外国的ip来访问服务器,本来要让机房在上端路由解决,但是那些人不鸟你!!!~~~~
这样的话,只能自己用iptables解决了~~~~~~~~~
关于 ip库 大家可以去 http://www.ip...
方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值复制代码 代码如下:
expr $args + 0 &>/dev/null
方法2:打印变量通过sed替换...
Linux可以简单的通过一条shell命令来关闭其他不需要的开机启动服务,只保留计划任务,网络,ssh和日志,看shell命令:
复制代码 代码如下:
chkconfig --list | grep 3:on | \
grep -v...
公司近来服务器测试,需要经常调整系统时间,一两台还好半,稍微多点,就各种纠结了,笔者这几台都把笔者快弄疯了。老大一句话:全部调快3分钟...过会又全部调慢5分钟......然后咱们干...
公司同事今天找我帮忙修改文件名,我一看,好嘛,几百个文件要改名,文件名格式是_01.png _02.png这样依次类推,同事要求把前面的"_"给去掉,还好要求算简单,没有让我再改成其他...
今天给公司新部署服务器进行优化,发现了tty终端居然有6个,为了节省点内存,决定只留一个tty终端,其他的都关闭掉,但centos6跟centos5的终端关闭方法完全变了,而且我也比较懒,...
今天有台服务器a要把网站程序全部传输到另外一台服务器b上去,但离下班时间就只有1个小时了,为了准时下班,简单写了个shell脚本来监控是否有传输完,我先在服务器a上看了下网...
这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本。直接上代码。复制代码 代码如下:
#!/bin/bash
ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0`
res...
以前的脚本是用save模式,现在把命令附加到一个文件里面,这样的话,可以方便的二次修改什么的
脚本基本是这样的,大家可以跟自己的情况再次修改~ 增加功能什么的。复制代码 代码...
复制代码 代码如下:
#!/bin/bash
#****************************************************************#
# ScriptName: pm
# Author: osdba
# Create Date: 2010-01-31
# M...
进程状态变量1、$$获取当前shell的进程号(PID)
2、$!执行上一个指令的PID
3、$?获取执行上一个命令的返回值(0为成功,非零为失败,这个很常用)
4、$_在此之前执行的命令或脚本...
前言*随着整个互联网的发展,产生了无数大大小小的网站,随之而来用户对网站UI和速度体验也在日益加强,对企业或者个人来说,赢得用户体验也就意味着赢得先机。那今天我们在这里针...
工作目录下面有mydoc1.txt,mydoc2.txt...mydoc41.txt,本来想用sed排列依次取值排序,然后用cat来合并这些文件,发现达不到预期效果,合并令如下所示:
复制代码 代码如下:
ls -lF *.t...
使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp、ssh连接远程主机等...
Usage: sh oracled [start|stop|restart] SIDs 其中SIDs是数据库名,多个名称之间用逗号分隔。缺省的操作是 restart ,也可以指定需要进行的操作( start | stop | restart )复制...
有两个用途,一是偷懒不用去提交代码,二是在远程服务器上使用以作定期备份。
复制代码 代码如下:
sudo gedit /etc/crontab
打开后加入这行
复制代码 代码如下:
0 * * * * my_...
A:本脚本运行的机器,Linux RHEL6
B,C,D,...:待安装zookeeper cluster的机器, Linux RHEL6首先在脚本运行的机器A上确定可以ssh无密码登录到待安装zk的机器B,C,D,...上,然后就可...
示例资源列表
如url.txt:
复制代码 代码如下:
http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png
http://su.bdimg.com/static/superplus/img/logo_white_e...
最近遇到了一个麻烦事:机器上邮件队列里老是被塞满,但是又不知道是什么地方发邮件写入的,十分蛋疼,没办法,只有临时处理一下了,写了个删除邮件的脚本rm_mqueue.sh。复制代码 代码...
获取单个文件行数文件:test1.sh行数:20方法一
复制代码 代码如下:
awk '{print NR}' test1.sh|tail -n1
如图所示:方法二
复制代码 代码如下:
awk 'END{print NR}' test1.sh...
我们在测试或调试的时候,有时候会需要生成某个size的文件,比如在测试存储系统时,需要将磁盘剩余空间减少5G,最简单的办法就是拷贝一个5G的文件过来,但是从哪儿去弄这样大小的文件...
先了解下,在bash脚本中,有三种引号1. 单引号 '
2. 双引号 "
3. 反引号 `单引号
两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思.
双引号
...
核心服务器上跑了一堆的脚本、程序,难免有时候会出现僵尸进程,死不死活不活的在那里占用资源,最初只是写了个根据关键字查杀进程的linux shell脚本,后来发现很多时候进程死在那...
ini文件格式一般都是由节、键、值三部分组成格式:[第一节 ]
第一个键 = 值
第二个键 = 第二个值
[第二节 ]
第一个键 = val1,val2,val3
例子:
复制代码 代码如下:
[COM]
KINGG...
我们有这样一个字符串:
复制代码 代码如下:
info='abcd;efgh'
现在想获取abcd和efgh,我们可以简单地用cut工具来获取:
复制代码 代码如下:
fstr=`echo $info | cut -d \; -f 1...
服务器的安全稳定是每个运维都希望达到的目标,毕竟网站一旦流量大了,访问高了,就会有一些无聊人来攻击,帮忙检测漏洞是好,但纯ddos的性质就很恶劣了.说远了,这篇文章只是检...
把下面的脚本保存为xxx.sh,然后 sudo sh xxx.sh复制代码 代码如下:
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c...
各种知识点都写在注释里。只需要 sudo $PATH/ftpsetup.sh即可,默认以test/test为用户名密码登录,登录后的根目录只读,子目录writable可写。Ubuntu 13和Linux Mint 15上测试ok。...
简单来说,这个技巧对应的是如下一种场景假设有文本如下
复制代码 代码如下:
cccc
aaaa
bbbb
dddd
bbbb
cccc
aaaa
现在需要对它进行去重处理,这个很简单,sort -u就可以搞定,但...
以下是shell代码:
create_xml.sh
复制代码 代码如下:
#! /bin/bash#author: dengzhaoqun
#date: 201202/14outfile=out
tabs=0put(){
echo '<'${*}'>' >> $outfile
}put_he...
需要对字符串查找其中某个字符最后出现的位置,这个在PHP (strrpos)或者Perl (rindex)里面都有现成函数可用的功能,在Shell里面居然一时想不出个道道来。在论坛上发贴也没人解...
在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:1.${var}
2.$(cmd)
3.()和{}
4.${var:-string},${var:+string},${var:=string},${var:...
启用 apache 的 mod_ssl 之后需要有证书才能正常运作。写了个脚本来操作。首先要确定机器上已经有 openssl 。
复制代码 代码如下:
#!/bin/sh
## ssl 证书输出的根目录。
ss...