linux Shell学习笔记第二天_脚本其他教程-查字典教程网
linux Shell学习笔记第二天
linux Shell学习笔记第二天
发布时间:2016-12-28 来源:查字典编辑
摘要:变量获取本机主机名#hostname获取本系统版本号#uname-r获取cpu类型获取cpu的工作频率cat/proc/cpuinfo获取内...

变量

获取本机主机名

#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

$1

$2

$3

$4

$5

$6

$7

$8

$9

脚本名字

A

B

C

D

E

F

G

H

I

$0=当前脚本名称

向脚本中使用位置参数

向系统命令传递参数

特殊变量

$#传递到脚本的参数列表个数

$* ($@)以一个单字符串显示所有向脚本传递的参数

$$脚本运行的当前进程ID号

$?显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

引用的必要性

变量操作中,脚本执行变量赋值时最容易犯的一个错误就是引用错误

例:echo abc *

echo abc ‘*'

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 “hostnamet `hostname`”

echo –e “OScoret `uname -r`”

echo –e “CPUInfot `grep “model name” /proc/cpuinfo|awk –F: ‘{print $2}'`”

ehco –e “CPUMHzt `grep “MHz” /proc/cpuinfo | awk –F: ‘{print $2}'`”

echo –e “MEMTotalt `free | awk ‘$1=”Mem:”{print $2}'`”

echo –e “DiskInfot `df | grep dev |awk ‘{print $1 $2}'`”

回顾:

脚本的结构与运行

变量的类型及用法

环境变量

本地变量

参数变量

特殊变量

变量赋值时的引用方法

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新脚本其他学习
    热门脚本其他学习
    脚本专栏子分类