首页 > 系统服务 > 详细

shell脚本

时间:2016-01-30 22:21:26      阅读:151      评论:0      收藏:0      [点我收藏+]
符号:
*            通配符
            单个任意字符
~            宿主目录
&&        连接符,前一个成功了后面一个才执行
|            管道符,前者的输出作为后者的输入
||            或,只要其中一个通过,整个式子通过
\            换行符,在命令中,表示命令未打完,下一行接着打,在编码中,可转义,如:\n,\t
;            连接,如:cd /tmp;ls        表示进入tmp目录中后,查看
{}            展开,如:mkdir    file{1..10},会创建file1,file2,file3,。。。file10个文件夹
[]            连续的范围,如:grep [a-z]   /tmp/a.txt
""            字符串,但是可以获取变量
‘‘            字符串,字符
``               括起来的东西可以当做命令来执行,~号

--------------------------------------------
变量
        自定义变量
        系统变量
自定义变量:
如:
a="helloworld"    
echo "$a"     
ip=192.168.18.105
ping -c 4 $ip       

交互式获取变量:read -p "please input a name" name
echo "$name"                
                                变量不能是数字

系统变量:(又称为内部变量,变量名都是大写)
$HOME
$HOSTNAME
$PWD
$PID
$PATH

echo $PATH           命令的搜索路径
技术分享
     
PATH=$PATH:/vfast            这样/vfast中的文件在其他路径下就可以直接使用,把/vfast提升到系统变量搜索中
-----------------
A=apple
B=bnanana
echo $A.$B                只适用与当前环境,换个shell就不能识别出来
技术分享

如果        export A,新打开一个shell就会识别a,把它提升为环境变量,与这个shell平级的shell不能识别,但是他的子shell可以识别
技术分享

------------------------------------------
变量符号:
技术分享
技术分享
  
  $0    :        脚本名称
$1    :        第一个参数的名字
$2    :        第二个参数的名字
。。。
$10    :        第10个参数的名字。注意:${10}要括号括起来,否则会识别为1,0
$#    :        未知参数的个数
$$    :        脚本执行时候pid号是多少,进程号,因为脚本执行完之后,ps aux查看时候是不显示的
$@    :        未知参数的列表

$?        :     返回值
                            0:表示成功
                                非0:表示失败,常见的非0值,127命令未找到,126:没有权限

-----------------------------------
脚本的写法:
后缀名一般以    .sh    .c    .py    结尾

书写规范:
#!/bin/bash            定义开头指定的运行环境
#    说明脚本的作用,介绍
定义变量
函数
主程序
---------------------------
脚本的执行:
需要拥有x权限,拒绝777
有两种执行方式:
            sh    x.sh            在原来shell基础上又开启了一个新的shell,执行,输出,又返回到原来的shell
            source    x.sh        在当前shell执行,当前shell输出
-----------------------------
echo指令的简单使用:
echo    -n    不换行
            -e        解释转义字符
            \t            tab制表符
            \n        换行,回车
            \b            删除前一个字符
            \a            提示音
            常用颜色

echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"

echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m

------------------------------------------------

输入输出重定向

    >    >>        <        <<

 passwd zhangsan --stdin <pass.txt                    重定向输入源,pass。txt中写入密码,就会把张三的密码改变

  <        表示重定向输入,        >    表示输出
<<            重定向追加输入            >>    重定向追加输出到

    head -1 /etc/rc.d/* >/vfast/a.txt 2>/vfast/error.txt  2表示错误输出,正确输入,放到/vfast/a.txt        错误输出。放到/vfast/error.txt

    head -1 /etc/rc.d/* $>/vfast/a.txt 2>/vfast/a.txt

                            
















shell脚本

原文:http://www.cnblogs.com/xiaoxiao5ya/p/26b4ce230f83c24b50d1975ff50dd5c0.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!