您的位置:首页 > 运维架构 > Shell

shell - 0.简单介绍

2016-05-12 09:56 441 查看
Shell-0.介绍
1.在那些环境用会用到shell脚本
・应用环境:执行某些命令需要多项复杂的参数
需要多条命令对系统进行状态查看和维护管理
定期进行数据库的备份
根据特定条件监控系统重要进程和日志
每周对主要系统进行一次巡检
对重要网络设备的配置文件进行安全分析,并给出相应的分析报告
对网络中的设备进行探测,采集相关资产信息,并录入资产信息表

例如:
・通过命令:每次都要仔细检查语法和参数
编写详细的系统维护文档,将要维护的命令都列出来,管理员照着系统维护文档进行操作。
每天下午6点,执行数据库的备份
每隔10或15分钟执行一次监控,命令或查看系统屏幕
工作量大,数据不好整理

2.什么是Shell
Shell----内核----硬件
请查看 http://yuanji6699.blog.51cto.com/11568362/1771930
3.Shell脚本的组成元素
・注释
・系统命令
・文本处理工具(sort,grep,sed,awk...)
・变量
・条件判断
・循环结构
・函数

4.查看系统支持那些shell
debian:/myshell# cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/bash
/bin/rbash
这么多,基本都是用bash

5.查看当前用户使用的sh类型
debian:/myshell# echo $SHELL 【注意这个可能不正确】
/bin/bash

应该用 【使用之前一定要检查一下,个别系统版本默认不是bash】
ls -alh /bin/sh

root@WebB:/home/log# ls -lah /bin/sh
lrwxrwxrwx 1 root root 4 Nov 14 15:15 /bin/sh -> dash [实际上使用的是dash]
root@WebB:/home/log# echo $SHELL
/bin/bash

解决方法:
-----------
那么怎么把sh改为指向bash呢?
最暴力的方法当然是直接把/bin/sh的软链接改到bash中,
如:ln -s /bin/bash /bin/sh

再次检查一下, ls /bin/sh -al 发现软链接指向/bin/bash就可以了。
-------------

6.第一个脚本(国际惯例,hello world)
debian:/# vim first.sh
#!/bin/sh
echo "Hello world"

debian:/# sh first.sh
Hello world

debian:/# chmod +x first.sh
debian:/# ./first.sh
Hello world

之后
debian:/myshell# echo $? (这部分后面详细介绍)
0
如果是0,表示正常

以上个人一点点总结和理解,水平不高,文笔水平很烂,请各位大大见谅。
可以一起交流学习。

我的QQ:610851588
可以加入我建的群(现在群人很少,希望慢慢多起来)
Linux 群:183932302
Python ,shell 交流群:469094734
本文出自 “走起运维” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: