云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > UNIX系统统指令查询手册

UNIX系统统指令查询手册

  • 62 次阅读
  • 3 次下载
  • 2026/4/28 2:18:51

B SHELL语法? IF语句

grep用于查看Dave是否在数据文件data.file中,注意?Dave\\>‘用于精确匹配 if grep ‘Dave\\>‘ data.file > /dev/null 2>&1 then

echo \else

echo \fi

用if语句测试文件权限 LOGFILE=test.txt

if [! -w \

echo \fi

if语句可用来测试传入脚本中参数的个数。使用特定变量$#,表示调用参数的个数。 if [ $# -lt 3 ]; then

echo \ exit 1 fi

嵌套IF

DIR_NAME=testdirec THERE=`pwd`

mkdir $DIR_NAME > /dev/null 2>&1 if [ -d $DIR_NAME ]; then cd $DIR_NAME if [ $? = 0 ]; then HERE=`pwd`

cp $THERE/*.txt $HERE else

echo \ exit 1 fi else

echo \ exit 2 fi

多文件位置检测,演示elif用法

LOCAT_1=/usr/opts/audit/logs/audit.log LOCAT_2=/usr/local/audit/audit.logs if [ -r $LOCAT_1 ]; then echo \ cat $LOCAT_1 elif

[ -r $LOCAT_2 ] then

echo \ cat $LOCAT_2 else

echo \ exit 1 fi

CASE语句

echo -n \read ANS

case $ANS in

1) echo \ ;;

2) echo \ ;;

*) echo \ exit 1 ;; esac

echo -n \read ANS

case $ANS in

y|Y|yes|Yes) echo \ ;;

n|N) echo \ exit 0 ;;

*) echo \ exit 1 ;; esac FOR语句

打印字符串列表

for loop in \do

echo $loop done

for loop in `ls LPSO*` do

echo $loop

cat $files | tr \done

UNTIL语句

until循环做监视条件也很有用。假定要监视文件系统容量,当它达到一定水平时通知超级用户。 LOOK_OUT=`df | grep /logs | awk ‘{print $5}‘ | sed ‘s/%//g‘` echo $LOOK_OUT

until [ $LOOK_OUT\do

echo \ exit 0 done

WHILE语句

使用while循环读键盘输入 count=0

echo -n \while read FILM do

echo \ count=`expr $count+1` done

用while循环从文件中读取数据 while read LINE do

echo $LINE done < names.txt

使用IFS读文件

文件names.txt中内容如下:

Louise Conrad:Accounts:ACC8987 Peter James:Payroll:PR489 Fred Terms:Customer:CUS012 SAVEDIFS=$IFS IFS=:

while read NAME DEPT ID do

echo -e \done < name.txt IFS=$SAVEDIFS 输出结果如下:

Louise Conrad Accounts ACC8987 Peter James Payroll PR489 Fred Terms Customer CUS012 死循环,跳出需要break while: do 命令 done

函数定义和调用? 测试目录存在 is_it_a_directory() {

### 参数数量小于1 if [ $# -lt 1 ]; then

echo \ return 1 fi

### 判断是否是目录

_DIRECTORY_NAME=$1

if [ ! -d $_DIRECTORY_NAME ]; then return 1 else

return 0 fi }

echo -n \read DIREC

if is_it_a_directory $direct; then else

echo \fi

命令行参数控制? SHIFT命令

向脚本传递参数时,有时需要将每一个参数偏移以处理选项,这就是shift命令的功能。它每次将参数位置向左偏移一位。例如下面这个程序使用shift命令来处理传递到脚本的每一个参数,这样只需要打印$1变量就可以显示所有参数 while [ $# -ne 0 ] do

echo $1 shift done

GETOPTS命令

有时有必要在脚本中指定命令行选项取值。getopts为此提供了一种方式,即在option_string中将一个冒号放在选项后。例如:

getopt sahfvc: OPTION

上面一行脚本指出,选项a、h、f可以不加实际值进行传递,而选项c必须取值。使用选项取值时,必须使用变量OPTARG保存该值。如果试图不取值传递此选项,会返回一个错误信息。错误信息提示并不明确,因此可以用自己的反馈信息屏蔽它,方法如下:将冒号放在option_string开始部分。 while getopts :ahfc: OPTION while getopts :ahfc: OPTION do

case $OPTION in a) ALL=true

echo \ ;;

h) HELP=true

echo \ ;;

f) FILE=true

echo \ ;;

c) COPIES=$OPTARG

echo \ \\?) # usage statement

echo \ ;; esac done

命令行:getopt1 -ah –c 3

SHELL编写的自动FTP脚本,详见632 Linux 与Unix Shell 编程指南 第25和27章? ftp -i -n $DEST_HOST << FTPIT

user anonymous $USER@$THISHOST $MODE

get $FILENAME $DIREC/$FILENAME.ftp quit FTPIT

在SHELL中输出显示用echo,输入用read,子命令执行采用exec? #!/bin/sh

echo \read name

echo \read surname

采用trap在脚本中捕捉信号?

trap可以使你在脚本中捕捉信号。该命令的一般形式为: trap name signal(s)

其中,name是捕捉到信号以后所采取的一系列操作。实际生活中,name一般是一个专门用来处理所捕捉信号的函数。Name需要用双引号(―‖)引起来。Signal就是待捕捉的信号。

脚本在捕捉到一个信号以后,通常会采取某些行动。最常见的行动包括: 1)清除临时文件 2)忽略该信号

3)询问用户是否终止该脚本的运行

下表列出了一些最常见的trap命令用法:

trap \忽略信号2和信号3,用户不能终止该脚本

trap \如果捕捉到信号2或3,就执行相应的commands命令

搜索更多关于: UNIX系统统指令查询手册 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

B SHELL语法? IF语句 grep用于查看Dave是否在数据文件data.file中,注意?Dave\\>‘用于精确匹配 if grep ‘Dave\\>‘ data.file > /dev/null 2>&1 then echo \else echo \fi 用if语句测试文件权限 LOGFILE=test.txt if [! -w \ echo \fi if语句可用来测试传入脚本中参数的个数。使用特定变量$#,表示调用参数的个数。 if [ $# -lt 3 ]; then echo \ exit 1 fi 嵌套IF DIR_NAME=testdirec THE

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com