变量
获取本机主机名
#hostname
获取本系统版本号
#uname -r
获取cpu类型
获取cpu的工作频率
cat /proc/cpuinfo
获取内存使用情况
#free -m
获取硬盘使用情况
#df
变量类型及变量操作
本地变量(一般所指)
本地变量只存在用户当前shell中,当用户退出当前shell或开器一个新的shell,所设置的变量将会不存在
设置变量
#变量名=变量值
显示变量
#echo ${变量名}
假设a=1 显示则 echo ${a}
环境变量(用的非常少)
环境变量用于所有用户进程(经常称为子进程)。登录进程称为父进程。Shell中执行的用户进程均称为子进程。不像本地变量,环境变量可用于所有子进程,这包括编辑器、脚本和应用
环境变量在用户注销时会消失,因此最好在$HOME/.bash_profile(/etc/profile)文件里直接定义
位置变量(跟脚本和函数有很大的关系)
位置变量表示$0,$1… …$9 (只有9个)
$0=当前脚本名称
向脚本中使用位置参数
向系统命令传递参数
特殊变量
$#传递到脚本的参数列表个数
$* ($@)以一个单字符串显示所有向脚本传递的参数
$$脚本运行的当前进程ID号
$?显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
引用的必要性
变量操作中,脚本执行变量赋值时最容易犯的一个错误就是引用错误
echo Hit the star button to exit *
引用的方式
双引号(“) (需要排除以下几个)
使用双引号可以引用除$、`、\\、字符外的任意字符或字符串
单引号(‘) (比较霸道,任何都可以转成字符)
与双引号类似,不同的是shell会忽略任何引用值。
换句话说,如果屏蔽了其特殊含义,会将引号里的所有字符,都作为一个字符串。
反引号(`) (将括号内的当作命令来执行)
用于设置系统命令的输出到变量。
shell将反引号中的内容作为一个系统命令,并执行其内容
反斜杠(\\)
如果一个字符有特殊含义,反斜线防止shell误解其含义,即屏蔽其特殊含义。
下述字符包含有特殊意义:& * + ^ $ ` ” | ?
脚本实例
Hello.sh
#!/bin/bash
#This is the first script
echo “Hello,World!”
执行:
chmod u+x Hello.sh
./Hello.sh
var.sh
#!/bin/bash
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo $7
echo $8
echo $9
echo $10
#!/bin/bash
echo –e “hostname\\t `hostname`”
echo –e “OScore\\t `uname -r`”
echo –e “CPUInfo\\t `grep “model name” /proc/cpuinfo|awk –F: ‘{print $2}\’`”
ehco –e “CPUMHz\\t `grep “MHz” /proc/cpuinfo | awk –F: ‘{print $2}\’`”
echo –e “MEMTotal\\t `free | awk ‘$1=”Mem:”{print $2}\’`”
echo –e “DiskInfo\\t `df | grep dev |awk ‘{print $1 $2}\’`”
回顾:
脚本的结构与运行
变量的类型及用法
环境变量
本地变量
参数变量
特殊变量
变量赋值时的引用方法
您可能感兴趣的文章:linux shell数组深入学习理解linux shell脚本学习xargs命令使用详解Linux学习之CentOS(一)—-在VMware虚拟机中安装CentOS 7(图文教程)linux Shell学习笔记第一天linux Shell学习笔记第三天Linux shell脚本基础学习详细介绍(完整版)linux Shell学习笔记第四天linux Shell学习笔记第五天linux Shell学习笔记最后一节,温故与知新linux命令学习之10个网络命令和监控命令Linux学习资料下载(电子书籍)linux shell脚本基础知识学习Linux学习基础教程Linux命令学习总结:详解shutdown命令Linux命令学习总结:详解reboot命令Linux学习第一天——ssh登录和软件安装详解个人学习Linux知识总结快速自学Linux命令的4种方法