Shell编程
bing.shao
这个作者很懒,什么都没留下…
展开
-
Bash Shell 字符串切割
Bash Shell 字符串切割chj@linux-xzlr:Desktop\> AAA="hello First-of All"chj@linux-xzlr:Desktop\> echo ${AAA#*-}of Allchj@linux-xzlr:Deskt原创 2011-07-06 14:09:03 · 1683 阅读 · 0 评论 -
shell获取mac地址及获取硬盘序列号的方法
#读取服务器的MAC地址 MAC=$(ifconfig eth0|grep eth0|awk '{print $5}') #读取服务器的硬件序列号 hdparm -I /dev/sda > /hdSerial.txt hdSer=$(grep \\"Serial Number" hdSerial.txt) SER原创 2012-03-21 10:02:50 · 6112 阅读 · 1 评论 -
CentOS修改主机名
CentOS修改主机名vi /etc/sysconfig/network原创 2012-04-24 15:55:37 · 635 阅读 · 0 评论 -
shell得到半年后的日期
date-d '-1 month' +%Y%m%d2## 输出格式 20101026得到上一个月的日期date-d '6 month' +%Y%m%d2## 输出格式 20101026得到半年后的日期原创 2012-04-27 17:24:11 · 1131 阅读 · 0 评论 -
shell sed 删除文本中指定的某一行
sed -i "5d" /var/spool/cron/root往某一行插入sed -i '625a\extension=php_screw.so' /etc/php.ini原创 2012-04-17 19:43:43 · 8857 阅读 · 0 评论 -
php执行linux命令
php执行linux系统命令的几个函数:system函数说明:执行外部程序并显示输出资料。语法:string system(string command, int [return_var]);返回值: 字符串详细介绍:本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 re原创 2012-04-18 10:33:18 · 1977 阅读 · 0 评论 -
shell查找某个文件夹的文件名并将其输出到某一个文件
#!/bin/shfind /var/www/appweb-default/officeten/images/ -type f -name '*.gif' > images_names.txtfind /var/www/appweb-default/officeten/images/ -type f -name '*.jpg' >> images_names.txtfind /var/原创 2012-05-12 14:53:45 · 4562 阅读 · 0 评论 -
Shell 中读取文件的行数
总结了一下有五种方法: 现在有一个a文件,共有55行 第一种: # awk '{print NR}' a|tail -n1 6 第二种: begincwcw兄的这个: # awk 'END{print NR}' a 6 第三种: # grep -n "" a|awk -F: '{print '}|t原创 2012-05-12 15:30:50 · 9039 阅读 · 2 评论 -
shell-删除文件的最后一行
sed -i '$d' inputfile原创 2012-05-17 16:33:19 · 11525 阅读 · 0 评论 -
sed -i
今天在自动化安装脚本时需要防火墙配置文件开放3306端口sed -i 在含有特定字符串的行前插入新行sed -i '/特定字符串/i 新行字符串' 例:[root@www ~]# vi /etc/sysconfig/iptables-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport原创 2012-07-23 13:56:01 · 4865 阅读 · 0 评论 -
shell读取一个文件内容到变量并逐一赋值
sys_info=$(cat /usr/local/sysconfig.txt)var=`echo $sys_info | awk -F ', ' '{print $0} ' | sed "s/,/ /g "`ip=$(echo $var | awk '{print $1}')netmask=$(echo $var | awk '{print原创 2012-07-24 20:09:22 · 35253 阅读 · 0 评论 -
shell脚本加密
如何保护自己编写的shell程序要保护自己编写的shell脚本程序,方法有很多,最简单的方法有两种:1、加密 2、设定过期时间,下面以shc工具为例说明:一、下载安装shc工具shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. # wget http://www.datsi.fi.upm.es/~frosal/sources/sh转载 2013-07-25 17:20:33 · 1803 阅读 · 0 评论 -
CentOS发送邮件(sendmail/mstmp)方法总结
我们先要知道一定的是CentOS默认不能发送邮件,需要发送邮件的我们要先安装一个sendmail程序,如果不使用sendmail来操作,我们还可以使用mstmp来发,下面我来一一介绍。先来看使用sendmail发邮件配置。安装sendmail执行: 代码如下复制代码[root@vps478753 ~]# yum -y install sendma转载 2013-08-07 10:22:59 · 34090 阅读 · 5 评论 -
通过shell来读取eth0的ip地址或者是mac地址
通过shell来读取eth0的ip地址或者是mac地址MAC:ifconfig eth0|grep eth0|awk '{print $5}'IP:ifconfig eth0|grep inet|awk '{print $2}'|awk -F: '{print $2}'原创 2012-03-20 14:44:44 · 6196 阅读 · 0 评论 -
shell截取字符串
环境变量在 bash 中定义环境变量的标准方法是:$ myvar='This is my environment variable!'以上命令定义了一个名为 "myvar" 的环境变量,并包含字符串 "This is my environment variable!"。以上有几点注意事项:第一,在等号 "=" 的两边没有空格,任何空格将导致错误。第二个件要注意的事是:虽然在定义一个原创 2012-03-20 13:39:09 · 2739 阅读 · 0 评论 -
SHELL比较逻辑表达式
[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。原创 2012-03-29 10:05:23 · 869 阅读 · 0 评论 -
shell分割以,为分割符的字符串
#:FORM_ipaddr=“1.1.1.0,1.1.1.1,1.1.1.2,1.1.1.3”#:all_ip=`echo $FORM_ipaddr | sed "s/,/ /g "`#:echo $all_ip#:1.1.1.0 1.1.1.1 1.1.1.2 1.1.1.3原创 2011-07-12 08:25:57 · 4313 阅读 · 0 评论 -
shell的if else 以及大于,小于等逻辑表达式
if ....; then ....elif ....; then ....else ....fi大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等… 通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号原创 2011-07-12 08:17:56 · 1962 阅读 · 0 评论 -
netcat
想要连接到某处: nc [-options] hostname port[s] [ports] … 绑定端口等待连接: nc -l -p port [-options] [hostname] [port] 参数: -e prog 程序重定向,一旦连接,就执行 [危险!!] -g gateway source-routing hop point[s],转载 2011-11-24 08:46:59 · 1190 阅读 · 0 评论 -
PHP中exec、system等函数调用linux命令问题
先小说两句:今天研究了下PHP调用LINUX命令的功能,一开始怎么做都调用不成功,试了好久才终于成功了,所以发出来分享一下。下面我将详细介绍: PHP中提供了几个调用linux命令的函数,exec、system、passthru,函数使用请参考手册,这里不具体介绍。下面我以exec函数为例具体介绍: 比如LINUX中修改服务器时间命令是 /bin/date -s '原创 2011-12-01 08:34:52 · 19915 阅读 · 4 评论 -
php shell_exec()与反撇号等价输出结果
#使用反撇号,暗示作为命令来执行 $result=`date`; echo "the server timestamp is: $result"; echo ""; #使用shell_exec() $result1=shell_exec("date"); echo "the server timestamp is: $result1"转载 2011-12-01 08:35:28 · 2593 阅读 · 0 评论 -
shell判断文件是否存在
shell判断文件,目录是否存在或者具有权限 #!/bin/shmyPath="/var/log/httpd/"myFile="/var /log/httpd/access.log"#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限if [ ! -x "$myPath"]; thenmkdir "$myPath"fi#这里的-d 参数判断$myPath是否存原创 2011-12-08 09:58:59 · 931 阅读 · 0 评论 -
date非常规用法总结
以下讨论的内容主要涉及到3个方面:1. 数字域的填充用法2. 相对日期的获得3. 时间戳和日期的互相转换1. 数字域的填充:默认情况下,在显示日期和时间时,date命令使用数字0填充数字域。例如,如果用两位数字显示月份,则6月显示为“06”,如下所示:$ date +%m06当然,一切皆有变通,你可以用下述控制符来控制填充符号:短线(-):原创 2012-01-04 11:11:25 · 4825 阅读 · 0 评论 -
Shell 的赋值命令
首先, Shell赋值时,等号左右两边是不能有空格的一般赋值 s=123 echo $s日期赋值 s=`date +"%Y-%m-%d"` # 注意`不是单引号, 而是~下面的点 echo %s`对字符串进行连接str1=abcstr3=${str1}.gz echo $str3Shell 命令中的日期的相关参数%%a literal %%a转载 2012-03-08 13:36:03 · 19153 阅读 · 0 评论 -
linux shell数组赋值方法
Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[index] = value 下面以一个简单的脚本来说明,脚本内容如下: #!/bin/bash #定义数组 A=(a b c def) #把数组按字符串显示输出 echo ${A[@]} #屏幕显示:a b原创 2012-03-26 15:17:21 · 35083 阅读 · 0 评论 -
Linux Shell for循环写法总结
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...1、 for((i=1;i2、在shell中常用的是 for i in $(seq 10) 3、for i in `ls`4、for i in ${arr[@]} 5、for i in $* ; do 6、for File in原创 2012-03-26 16:41:32 · 8678 阅读 · 0 评论 -
shell 数组长度
Shell 数组元素个数${#array[@]} 数组的所有元素${array[*]} 字符串长度${#str}1、获取数组元素的个数: array=(bill chen bai hu); num=${#array[@]} //获取数组元素的个数。 遍历数组就变成非常简单原创 2012-03-26 16:40:44 · 71676 阅读 · 2 评论 -
Shell脚本 字符串大小比较 字符串是否相等比较 字符串是否为空判断
字符串比较的方法:相等比较: $str1 = $str2 //检查str1与str2是否相同 $str1 != $str2 //检查str1与str2是否不同大小比较: $str1 $str1 > $str2 //检查str1是否大于str2判断字符串是否为空原创 2012-03-26 16:41:10 · 11158 阅读 · 0 评论 -
用yum下载rpm包(不安装)到制定目录
用yum下载rpm包(不安装)到制定目录 用yum下载rpm包 1.安装yum-downloadonly # yum install yum-downloadonly -y 2.下载到指定目录 # yum install nameofrpm -y --downloadonly --downloaddir=path eg: # rpm -q转载 2013-08-07 09:55:07 · 1004 阅读 · 0 评论