TCSH shell变量和特征配置

TCSHshell可以使用户使用shell配置变量和特征配置自己的shell.也可以使用set命令设置特征.TCSH也有注册,注消以及何时进入TCSHshell的配置文件.

一、TCSH shell 特征

TCSH有几个特征,允许控制不同的shell操作的方法.TCSH shell特征不仅包括许多它自己的特征,而且还包括KSH/BASH shell中的特征,如,TCSH中有一个noclobber,防止重定向重写文件,一些更常用的特征为:echo,noclobber,ignoreeof和noglob.通过定义和取消定义与该特性相关的变量,打开/关闭TCSH shell特征,为每个特征命名变量.

例如,通过定义noclobber变量,打开noclobber特征.使用set命令定义变量,而使用unset命令取消定义变量.为了运行noclobber特征,使用set noclobber,为了关闭它,使用unset noclobber.如:

set variable 定义变量
unset variable 取消变量

由于这些变量常用于打开/关闭特征,所以有时也被叫做双态切换.

1、echo

在echo被执行之前,设置echo启动显示命令的特征;

set echo 打开echo特征
unset echo 关闭echo特征

2、ignoreeof

设置ignoreeof启动防止用户使用CTRL+D注消用户shell的特征,它用于防止突发性的注消操作,如果此特征关闭,可以用CTRL+D注消过程.由于在标准输入中CTRL+D是结束用户输入的操作,所以很容易造成突发注消shell进程.因此,ignoreeof特征就能防止这种突发的注消,当此特征被设置后,用户必须用logout命令明确注消.

3、noclobber

设置noclobber启动预防现有文件不被重定向输出的特征,借助此特征,如果把输出重定向到已经存在的文件中,就不用标准的输出重写文件.原文件被保存.也许会发生这种情况:把现有文件名用作保存被重定向的输入的文件名.因此,noclobber特征使用户不会意外的重写原文件.

%set noclobber
%cat oldfile > newfile
newfile: file exist

有时,用户想用重定向输出重写某个文件,那么就可在重定向符号操作符之后放置惊叹号!实现重写操作.这将重写noclobber特性,用标准的输出代替文件内容.

%cat oldfile >!newfile

4、noglob

设置noglob使某特性有效,该特征禁止用户shell中的某些字符.字符 * ? [ ] ~将不再扩展为匹配的文件名.如:

%set noglob
%ls myfile?*
myfile?*

5、附录:常用的TCSH shell特征;

特征 功能
set 打开shell特征
unset 关闭shell特征
echo 执行命令前显示该命令
ignoreeof 禁止用CTRL+D注消
noclobber 不必通过重新定向重写文件
noglob 禁止特殊字符用于文件名扩展:* ? ~ [ ]
notify 当完成后台任务时立即通知用户
verbose 历史命令引用后显示命令

时间: 2024-09-19 20:34:02

TCSH shell变量和特征配置的相关文章

Linux中环境变量文件及配置

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

Linux中Shell变量详解

Shell变量分为环境变量和自定义变量,这两则的差异在于该变量能否被子进程使用,看下面的一个示 意图: 如果是环境变量,子进程中还可以继续使用,但如果是自定义的变量,子进程里将失效. 用env查看环境变量 常见的环境变量如下: 1)HOME:用户的主目录(cd ~) 2)SHELL:用户的默认shell 3)HISTSIZE:历史记录条数 4)MAIL:邮件信箱文件 5)PATH:执行文件查找路径 6)LANG:语系 用set查看环境变量和自定义变量 比较重要的自定义变量有: 1)PS1:提示符

《Linux shell变量总结回顾》RHEL6(转)

文章版权:http://www.cnblogs.com/linux-super-meng/ 环境变量路径: [root@localhost ~]# set   //查看到的是局部变量和全局变量2种 [root@localhost ~]# env  //查看系统的全局环境变量 [root@localhost ~]# echo $PATH  //查看系统环境变量路径 [root@localhost ~]# export $PATH  //也可以使用export查看环境变量路径 [root@local

python文件读写操作与linux shell变量命令交互执行的方法_python

本文实例讲述了python文件读写操作与linux shell变量命令交互执行的方法.分享给大家供大家参考.具体如下: python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼. 代码如下: 复制代码 代码如下: #coding=utf-8 #!/usr/bin/python import os import time #python执行linux命令 os.system(':>./aa.py') #人机交互输入 S = raw_input("

awk系列:如何让awk使用 Shell 变量

当我们编写 shell 脚本时,我们通常会在脚本中包含其它小程序或命令,例如 awk 操作.对于 awk 而言,我们需要找一些将某些值从 shell 传递到 awk 操作中的方法. 我们可以通过在 awk 命令中使用 shell 变量达到目的,在 awk 系列的这一节中,我们将学习如何让 awk 使用 shell 变量,这些变量可能包含我们希望传递给 awk 命令的值. 有两种可能的方法可以让 awk 使用 shell 变量: 1. 使用 Shell 引用 让我们用一个示例来演示如何在一条 aw

跟老男孩学Linux运维:Shell编程实战3.1 什么是Shell变量

Shell变量的核心基础知识与实践 3.1 什么是Shell变量 1.?什么是变量 在小学或初中时,我们开始接触数学方程式,例如:已知x=1,y=x+1,那么y等于多少? 在上述问题中,等号左边的x和y当时被称为未知数,但在Shell编程里它们是变量名,等号右边的1和x+1则是变量的内容(变量的值).注意,这里的等号符号被称为赋值,而不是等号. 通过上面的例子可以得出一个变量概念的小结论:简单地说,变量就是用一个固定的字符串(也可能是字符.数字等的组合)代替更多.更复杂的内容,该内容里可能还会包

awk使用shell变量出现的问题

问题描述 awk使用shell变量出现的问题 libs="1 2 3" awk 'BEGIN{split($libs, data, " ");print data[1]}' 这样执行的结果为什么不是1,,而是空啊 请指导 解决方案 需要传递变量,否则不能访问shell定义的 awk -v var="$libs" 'BEGIN{split(var, data, " ");print data[1]}' 解决方案二: 对于AWK中

awk 系列:如何让 awk 使用 Shell 变量

当我们编写 shell 脚本时,我们通常会在脚本中包含其它小程序或命令,例如 awk 操作.对于 awk 而言,我们需要找一些将某些值从 shell 传递到 awk 操作中的方法. 我们可以通过在 awk 命令中使用 shell 变量达到目的,在 awk 系列的这一节中,我们将学习如何让 awk 使用 shell 变量,这些变量可能包含我们希望传递给 awk 命令的值. 有两种可能的方法可以让 awk 使用 shell 变量: 1. 使用 Shell 引用 让我们用一个示例来演示如何在一条 aw

Linux shell编程 2 ---- shell变量

 1 shell变量     1 在shell编程语言里面有两种变量的类型,字符串和整型     2 定义shell变量        name=string        1 name是变量名,变量名用小写字母命名        2 =是赋值符号,=的两边不能有空格,否则将视为命令        3 string是被赋值的变量,比如字符串或者是整数     3 在shell里面我们使用$来取得变量的值    2 字符串变量     1 v1=centos        v2="this is