shell的基本点描述
来源:互联网 发布:中美贸易进出口数据图 编辑:程序博客网 时间:2024/04/30 02:03
Linux shell的版本
Bourne shell(B shell):Unix的最初Shell,在Shell编程方面比较优秀。
C Shell(csh):在C语言编程方面性能较好
Bash Shell(bash):Bourne Shell的增强版,Linux系统的默认Shell
Korn Shell(ksh):综合B Shell和C Shell 的特点于一身。
Tcsh:C Shell的增强版,具有命令行编程接口和历史记录功能
命令的解释过程
注:(1)设定命令的别名:
格式:Alias 命令名=‘原命令名’
实例:Alias md=’mkdir’
(2)更改提示符:
格式:PS1=字符串(一级提示符)
PS2=字符串(二级提示符)〕
Shell编程基础(Base Shell)
Shell的变量和参数
(1)变量的分类
按变量作用域来分:全局变量,局部变量
按用途划分:系统变量环境,位置参数,用户自定变量
按数据类型:字符串变量,数值变量
(2)变量的定义
MyHost=”www”
(Export全局变量:Local局部变量)
环境变量
HISTFILE:历史记录文件
HISTSIZE:历史记录列表的大小
Home:用户主目录
Path:通用路径
UID:用户的UID
PS1(PS2):一(二)级提示符
TERM:终端类型
位置参数
位置参数:$1-$9
特殊参数:$0 命令名
$# 参数的个数
$* 所有的参数
$$命令的PID
实例:#Vi /sys
#!/bin/bash (指定默认Shell)
System=”RedHat Linux”
Ech$1
Ech$2
Ech$System
#chmod 755 /sys
# /sys you need
you need RedHat Linux
运算符
算术运算符:+,-,*,/,>>,<<
逻辑运算符:&&(与),||(或),!(非)
比较运算符:=(-eq),>(-gt),<(-lt),!=(-ne),<=(-le),>=(-ge)
操作符:-x (判断可执行文件是否存在)
-f(判断普通文件是否存在)
-r(判断只读文件)
-w(判断可写文件)
-s数字(判断文件大小)
Shell的常用语句
Test
功能:测试表达试的真假
格式:Test 表达式
实例:if test 1>2
then
echo “1>2”
fi
if [1>2]
then echo “1>2”
fi
if
功能:条件分支选择
格式:(1)if 条件 (2) if 条件
then then
语句 语句
fi else
语句2
fi
(3)if 条件 (4)if 条件
then then
语句1 语句1
elif 条件2 elif 条件2
语句2 语句2
fi 、、、
else
语句n
fi
实例:1) if [-X /shell/quotaon]
then
/sbin/quotaon –qvug
else
echo “quotaon no exists.”
fi
2)if [-x /etc/crontab/]
echo “crontab file exists.”
elif [-x/var/spool/cron/root]
echo “root’s crontab file exists.”
fi
Case
功能:多路分支
格式:Case 参数 In
值1)语句1;;
值2) 语句2;;
、、、、、
*)语句N;;
esac
实例: #Vi /.etc/quotaman
#! /bin/bash
case $1
start)
/sbin/quataon –avug
;;
stop)
/sbin/quotaoff –avug
;;
restart)
/sbin/quota off –avug
/sbin/quotaon -avug
;;
*)
echo “enter start/stop/restart”
;;
esac
Select
功能:多路选择分支
格式:select 参数 in 字符串
do
case 参数 in
值1)
语句一
;;
…….
*)
esac
done
实例: WORD =”abc”
Select I in $WORD
Do
Case $ I in
a)
echo “I am A”
;;
b)
echo ”I am B”
;;
c)
echo “I am C”
;;
esac
done
for
功能:循环执行多条语句
格式:for 参数〔in 字符串〕;do
循环体
done
实例:1) for I in /bin/*
do
echo $i
done
2)for i
do
echo $i
done
while
功能:实现条件循环
格式:
while〔条件〕
do
循环体
done
实例:1)
while
do
steep s
done
2)
while [-f /var/run/pope.pid]
do
kill all pope [kill –q cat/var/run/pope.pid]
done
函数
格式:
〔function〕函数名(参数)
{
函数体
}
实例:
# /bin/bash
start()
{ if [ -x /sbin/quotaon ]
then
/sbin/quotaon –avug
fi
}
stop ()
{
if [ -x /sbin/quotaoff ]
then
/sbin/quotaoff –avug
fi
}
restart()
{
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
retart)
restart
;;
*)
echo “error!!!!!!!”
;;
esac
exit
功能:退出脚本文件
格式:exit (0或1)
实例:
if [ -f /etc/sysconfig/network ]
then
/etc/rcd/init.d/network start
else
exit(1)
fi
break
功能:退出循环
格式:break
实例:
while [ 1<2 ]
do
/bin/rm –f /abc/*f
if [ -f name.conf ]
then
break
fi
done
read
功能:从键盘获取变量的值
格式:read 变量名
实例:
read a
read b
c=$a+$b
echo $c
脚本的运行方式
方式一:
1.改变脚本文件的属性,让用户具有执行权
#chmod 权限值 脚本文件
2.运行脚本文件
#路径/文件名 [参数]
实例:# /etc/rc.d/init.d/dhcpd restart
方式二:
# Shell名称 文件名
实例:#bash a
Bourne shell(B shell):Unix的最初Shell,在Shell编程方面比较优秀。
C Shell(csh):在C语言编程方面性能较好
Bash Shell(bash):Bourne Shell的增强版,Linux系统的默认Shell
Korn Shell(ksh):综合B Shell和C Shell 的特点于一身。
Tcsh:C Shell的增强版,具有命令行编程接口和历史记录功能
命令的解释过程
注:(1)设定命令的别名:
格式:Alias 命令名=‘原命令名’
实例:Alias md=’mkdir’
(2)更改提示符:
格式:PS1=字符串(一级提示符)
PS2=字符串(二级提示符)〕
Shell编程基础(Base Shell)
Shell的变量和参数
(1)变量的分类
按变量作用域来分:全局变量,局部变量
按用途划分:系统变量环境,位置参数,用户自定变量
按数据类型:字符串变量,数值变量
(2)变量的定义
MyHost=”www”
(Export全局变量:Local局部变量)
环境变量
HISTFILE:历史记录文件
HISTSIZE:历史记录列表的大小
Home:用户主目录
Path:通用路径
UID:用户的UID
PS1(PS2):一(二)级提示符
TERM:终端类型
位置参数
位置参数:$1-$9
特殊参数:$0 命令名
$# 参数的个数
$* 所有的参数
$$命令的PID
实例:#Vi /sys
#!/bin/bash (指定默认Shell)
System=”RedHat Linux”
Ech$1
Ech$2
Ech$System
#chmod 755 /sys
# /sys you need
you need RedHat Linux
运算符
算术运算符:+,-,*,/,>>,<<
逻辑运算符:&&(与),||(或),!(非)
比较运算符:=(-eq),>(-gt),<(-lt),!=(-ne),<=(-le),>=(-ge)
操作符:-x (判断可执行文件是否存在)
-f(判断普通文件是否存在)
-r(判断只读文件)
-w(判断可写文件)
-s数字(判断文件大小)
Shell的常用语句
Test
功能:测试表达试的真假
格式:Test 表达式
实例:if test 1>2
then
echo “1>2”
fi
if [1>2]
then echo “1>2”
fi
if
功能:条件分支选择
格式:(1)if 条件 (2) if 条件
then then
语句 语句
fi else
语句2
fi
(3)if 条件 (4)if 条件
then then
语句1 语句1
elif 条件2 elif 条件2
语句2 语句2
fi 、、、
else
语句n
fi
实例:1) if [-X /shell/quotaon]
then
/sbin/quotaon –qvug
else
echo “quotaon no exists.”
fi
2)if [-x /etc/crontab/]
echo “crontab file exists.”
elif [-x/var/spool/cron/root]
echo “root’s crontab file exists.”
fi
Case
功能:多路分支
格式:Case 参数 In
值1)语句1;;
值2) 语句2;;
、、、、、
*)语句N;;
esac
实例: #Vi /.etc/quotaman
#! /bin/bash
case $1
start)
/sbin/quataon –avug
;;
stop)
/sbin/quotaoff –avug
;;
restart)
/sbin/quota off –avug
/sbin/quotaon -avug
;;
*)
echo “enter start/stop/restart”
;;
esac
Select
功能:多路选择分支
格式:select 参数 in 字符串
do
case 参数 in
值1)
语句一
;;
…….
*)
esac
done
实例: WORD =”abc”
Select I in $WORD
Do
Case $ I in
a)
echo “I am A”
;;
b)
echo ”I am B”
;;
c)
echo “I am C”
;;
esac
done
for
功能:循环执行多条语句
格式:for 参数〔in 字符串〕;do
循环体
done
实例:1) for I in /bin/*
do
echo $i
done
2)for i
do
echo $i
done
while
功能:实现条件循环
格式:
while〔条件〕
do
循环体
done
实例:1)
while
do
steep s
done
2)
while [-f /var/run/pope.pid]
do
kill all pope [kill –q cat/var/run/pope.pid]
done
函数
格式:
〔function〕函数名(参数)
{
函数体
}
实例:
# /bin/bash
start()
{ if [ -x /sbin/quotaon ]
then
/sbin/quotaon –avug
fi
}
stop ()
{
if [ -x /sbin/quotaoff ]
then
/sbin/quotaoff –avug
fi
}
restart()
{
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
retart)
restart
;;
*)
echo “error!!!!!!!”
;;
esac
exit
功能:退出脚本文件
格式:exit (0或1)
实例:
if [ -f /etc/sysconfig/network ]
then
/etc/rcd/init.d/network start
else
exit(1)
fi
break
功能:退出循环
格式:break
实例:
while [ 1<2 ]
do
/bin/rm –f /abc/*f
if [ -f name.conf ]
then
break
fi
done
read
功能:从键盘获取变量的值
格式:read 变量名
实例:
read a
read b
c=$a+$b
echo $c
脚本的运行方式
方式一:
1.改变脚本文件的属性,让用户具有执行权
#chmod 权限值 脚本文件
2.运行脚本文件
#路径/文件名 [参数]
实例:# /etc/rc.d/init.d/dhcpd restart
方式二:
# Shell名称 文件名
实例:#bash a
- shell的基本点描述
- Shell学习笔记-基本点
- 邮件发送的基本点
- 网络的几个基本点
- Java的基本点
- Java动态代理的基本点
- 创业你要了解的几个基本点
- FileNet PE操作入口的几个基本点
- ASP.net我们必须知道和理解的基本点
- 初学SSH框架所需注意的基本点
- Java基本点
- nodejs基本点
- shell 文件描述符
- Shell 文件描述符
- Shell学习之文件的描述符和重定向
- Shell下的通配符、特殊符号和文件描述符
- Shell的文件描述符操作,包括标准输入,标准输出,自定义文件描述符
- [Shell]文件描述符示例
- LINUX 下设置系统时间 DATE 命令
- oracle总结
- js用锚点在本页实现定位
- 机场信息(深圳---武汉)
- dshow中使用Sample Grabber filter抓取图像
- shell的基本点描述
- 监利概况
- 深入浅出VC++串口编程之基于Win32 API
- Flex与JavaScript交互(一)
- Flex与JavaScript交互(二)
- flysnail-妙不可言,美不胜收 - 博客管理- JavaEye技术网站
- flysnail-妙不可言,美不胜收 - JavaEye技术网站
- mysql中文问题
- 用Flex 3做AIR版html编辑器