打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Bourne Shell及shell编程 4
4. Shell的定制
 通常使用shell的定制来控制用户自己的环境比如改变shell的外观(提
示符)以及增强
 自己的命令
 
(1)通常环境变量来定制shell
 通常改变环境变量可以定制shell的工作环境shell在处理信息时会参
考这些环境变量
 改变环境变量的值在一定程度上改变shell的操作方式比如改变命令
行提示符
 
 .使用IFS增加命令行分隔符
 默认状态下shell的分隔符为空格制表符及换行符但可以通过改变
IFS的值加入自
 的分隔符如下所示
 
 
 $ IFS=":"
 $ echo:Hello:my:Friend
 Hello my Friend
 
(2)加入自己的命令及函数
 如下程序
 #Directory and Prompt change program
 #Syntax: chdir directory
 
 if [ ! -d "$1" ]
 then
 echo "$1 is not a directory"
 exit 1
 fi
 
 cd $1
 PS1=`pwd`$
 export PS1
 
 $ chdir /usr/home/teresa
 $

 
 但此程序在执行时系统提示符并不会改变因为此程序是在子shell中执
行的因此其变
对当前shell并无影响要想对当前shell起作用最好是将此作为函数写在
自己的.profile
或建立自己的个人函数文件.persfuncs
 
 #Personal function file persfuncs
 
 chdir()
 {
 #Directory and Prompt change program
 #Syntax: chdir directory
 if [ ! -d "$1" ]
 then
 echo "$1 is not a directory"
 exit 1
 fi
 
 cd $1
 PS1=`pwd`$
 export PS1;
 }
 
 再执行
 $ . .persfuncs
 $ chdir temp
 /home/hbbwork/temp$
 
 也可在自己的.profile文件中用 . .persfuncs调用.persfuncs.
 
 说明在bash/tcsh中已经使用别名相对而言别名比此方法更为方便

 
 
5. 有关shell的专门讨论
(1)shell程序的调试
 切记程序员人总是会犯错误的而计算机是不会错的
 使用-x进行跟踪执行执行并显示每一条指令
 
(2)命令组

 用小括号将一组命令括起来则这些命令会由子shell来完成而{command_list;}则在
 前shell中执行这两者的主要区别在于其对shell变量的影响子shell执行的命令不会
 影响当前shell中的变量
 
 $ NUMBER=2
 $ (A=2;B=2;NUMBER=`expr $A + $B`; echo $NUMBER)
 4
 $ echo $NUMBER
 2
 $ { A=2;B=2;NUMBER=`expr $A + $B`; echo $NUMBER; }
 4
 $ echo $NUMBER
 4
 
 
总结
 在本章中讲述了Bourne Shell的基本知识,使用shell变量shell script
基础这些概
 对于理解学习Korn Shell, csh以及其他script编程都是非常有用的
 
 很多OS都有不少语言及一些script功能但很少有象UNIX SHELL这
样灵活强大的script
 本语言能力
 
 对于系统管理员或程序员来说熟练地使用shell script将对日常工作(系
统维护及管理
)
 非常有用如果你想作一个合格的系统管理员强烈建议你进一步深入
的了解和使用
 shell.
 
 另外对于系统管理员来说PERL也是一个必不可少的script编程语
言尤其是对于处
 文本格式的各种文件PERL具有shell, awk, sed, grep等的功能但
使用起来更为灵活
 
 功能也更强大大家可以参考Perl By Examples"来学习和使用PERL
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux Shell编程入门
Bash脚本编程基础
Linux shell编程笔记总结
Linux Shell基础
引用 第7讲 Bourne Again Shell_1
Shell脚本
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服