shell编程基础

Bash变量

· 在Bash中,变量的默认类型都是字符串型

    如果需要要转换,用declare命令

    declare [-aixr] 变量

    a: array, i: integer , x:环境变量, r: readonly只读变量

变量的“申明和赋值规则”:变量=值

· 变量的打印:echo $变量 或者 echo ${变量}

    把一个变量的值赋值给另外一个:变量=${变量}


· 变量为可扩增变量时:变量="$变量":或者变量=${变量}:

· 调用额外命令的信息:`指令` 或者  $(指令)


两者作用一致,使用反引号会更简洁

· 若该变量需要在其他子程序中执行,需要用export来使变量变成环境变量

· 取消变量的方法:unset


程序实例:

用shell脚本查看主机是否启动www、ssh、ftp、mail服务

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

touch /dev/shm/netstat_check.txt #创建文档用于存储信息

netfile=/dev/shm/netstat_check.txt  

netstat -tuln > ${netfile} #导入命令输出

testing=$(grep ":80 " ${netstat})# 引用grep的输出结果

if [ "${testing}" != "" ]; then

echo "WWW is running in your system."

fi

testing=$

(grep ":22 " ${netstat})#侦测看port 22在否?

if [ "${testing}" != "" ]; then

echo "SSH is running in your system."

fi

testing=$

(grep ":21 " ${netstat})#侦测看port 21在否?

if [ "${testing}" != "" ]; then

echo "FTP is running in your system."

fi

testing=$

(grep ":25 " ${netstat})#侦测看port 25在否?

if [ "${testing}" != "" ]; then

echo "Mail is running in your system."

fi

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Bash内置基本变量 PWD : 显示当前的工作目录 OLDPWD : 显示上一次的工作目录 ~:用户家目录 - ...
    魏镇坪阅读 5,439评论 0 6
  • 1. shell脚本: 包含一些命令或声明,并符合一定格式的文本文件  格式要求:首行shebang(#!)机制...
    尛尛大尹阅读 5,903评论 0 1
  • 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! 本文摘要 本文主要介绍...
    登龙zZ阅读 3,991评论 3 23
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 4,786评论 0 0
  • 现在我什么都不想要,只想回到母亲身边。 妈妈是个简单的农村妇女,她这么多年一直在家做家庭主妇,她算是照顾了三代人,...
    生菜包菜阅读 1,306评论 0 1