`
nigelzeng
  • 浏览: 599586 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

今日小结--shell脚本小结

阅读更多

 

昨晚到现在都一直在弄apache更新,由于机器数较多,又是单独操作,

所以特别慢。

 

终于在今日完成了更新……

总结一下写这个脚本所学习到的知识:

 

1、用ssh链接远程主机执行命令的时候,加上 -n 参数

    ssh -n 192.168.1.100 "cd /home/admin;bash apache_fix.sh"

    双引号里面接你要执行的命令,用分号隔开多条命令,双引号里面的单引号使用问题我还在摸索。。。

    ·如果你要执行的命令很多的话,最好是写在一个shell文件里面,scp到远程主机上执行。

 

2、重定向的问题

    一个命令执行完之后打印的信息分为stdout和stderr,分别用 1 和 2 两个文件描述符来描述。

    重定向一条命令的输入到文件里可以这样:

    ls -al > output.log 2>&1   # 把ls -al的stdout输出到output.log文件里面,同时stderr也输入到这个文件,2>&1 即完成把stderr也输入到文件的功能。

    当然,把 > 换成 >> 即转换为追加stdout到文件中

 

3、cp 覆盖问题

    修改文件的时候,要先备份,在出错之后就cp备份覆盖掉出错的配置文件,有时候cp覆盖会提示你是否确认override,在shell里面你可以这样写:

    yes | cp httpd.conf.bak.20110826 httpd.conf  即在提示你确认是否override的时候输入yes

    借此跳过这个输入的挂起,不然脚本一直要等待输入,之后的语句就执行不了了。

 

4、一个应用的启动脚本,以及目录,还有所实用配置的目录很多时候都可以用ps命令来查看

    比如 ps axu | grep 'httpd' 在最后的几栏你可以看到启动脚本的位置还有使用的什么配置文件(如果你启动的是用这个命令的话)

    然后再使用 sed 或者 awk 来处理每一行和每一段字符,拿到想要的数据

 

总结:

1、修改任何一个重要的文件之前记得要备份。

2、把提示消息同时记录到日志里面。

3、判断出程序错误后,要把备份好的配置文件覆盖回去,还原环境。

4、多写程序,多思考。

 

(2011-08-26 19:38:27)

分享到:
评论

相关推荐

    Bash Shell脚本入门小结

    摘要:对于经常使用Shell命令的朋友来说,掌握基本的Shell脚本语法就可以着手编写Shell脚本了。因此,在文档中,鄙人以介绍Shell语法为重点,必要之处,附以命令、语法的使用说明,所谓“寓情于景、寓理于事”,可以...

    Shell脚本if else语句小结

    和Java、PHP等语言不一样,sh的流程控制不... 代码如下: <?...if (isset($_GET[“q”])) {  search(q); } else {  //do nothing ...在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: ...

    从Linux程序中执行shell(程序、脚本)并获得输出结果

    Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码...

    Shell脚本编程30分钟入门(小结)

    什么是Shell脚本 Shell脚本(英语:Shell script),又称Shell命令稿、程序化脚本,是一种电脑程序与文本文件,内容由一连串的shell命令组成,经由Unix Shell直译其内容后运作。被当成是一种脚本语言来设计,其运作...

    sh-hhelp:列出脚本的小结

    sh-hhelp:列出脚本的小结

    一篇教会你写90%的shell脚本(入门小结)

    shell脚本? 在说什么是shell脚本之前,先说说什么是shell。 shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell...

    shell 编程指南pdf

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    用于检测进程的shell脚本代码小结

    一个简单的shell脚本,用来找出关键的服务是否正在运行,适用于Linux或Unix操作系统。该脚本还可以使用电子邮件发送通知。 代码: 代码如下:#!/bin/bash# Name : service.chk 服务检测脚本## 根据自己的环境修改_...

    Shell脚本数组用法小结

    主要介绍了Shell脚本数组用法小结,本文讲解了数组声明、数组遍历、获取数组长度、删除数组元素、数组切片等内容,需要的朋友可以参考下

    梁博shell脚本训练集训学习小结V0.11

    更加复杂的用法是加入 if,while,for 循环等,这一点将在第三章中有所涉及。uniq 的作用主要是去重,但是需要说明的是为了使 uniq 起作用,所有的

    Shell脚本数组操作小结

    主要介绍了Shell脚本数组操作小结,包含数组定义、读取、替换、删除、复制、计算等,需要的朋友可以参考下

    LINUX与UNIX SHELL编程指南

    第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    绝版经典 LINUX与UNIX SHELL编程指南 PDF 高清版 [16.3M]

    第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三...

    shell编程中的字符串截取方法小结

    一、Gnu Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr(,1,8)}’ 3.echo $a|cut -c1-8 4.echo $ 5.expr $a : ‘\(.\\).*’ 6.echo $a|dd bs=1 count=8 2>...

    LINUX与UNIX SHELL编程指南(很全)

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

Global site tag (gtag.js) - Google Analytics