• Unix Tutorial Eight


     1.UNIX 变量

    变量是在运行时将信息从shell传递到程序的一种方式。程序在特定的变量中查找“在环境中”,如果发现它们将使用存储的值。有些是由系统设置的,另一些是由你设置的,还有一些是由shell设置的,或者是任何加载另一个程序的程序。

    标准UNIX变量分为两类,环境变量和shell变量。笼统地说,shell变量仅适用于shell的当前实例,并用于设置短期工作条件;环境变量具有更深远的意义,登录时设置的会话在会话期间是有效的。按照惯例,环境变量有UPPER CASE,shell变量有小写的名字。

     

    2. 环境变量

    一个环境变量的例子是OSTYPE变量。这个值就是你正在使用的当前操作系统。敲下

    % echo $OSTYPE

     更多的环境变量的例子是

    USER(您的登录名)

    HOME(主目录home directory的路径名)

    HOST(正在使用的计算机的名称)

    ARCH(计算机处理器的体系结构)

    显示(显示X窗口的电脑屏幕名称)

    打印机(发送打印作业的默认打印机)

    PATH(shell应搜索以查找命令的目录)

     

    找出这些变量的当前值

    使用setenv命令设置环境变量,使用printenv或env命令显示环境变量,并使用unsetenv命令取消设置。 要显示这些变量的所有值,请键入

    %printenv | less

     

    3. Shell变量


    一个shell变量的例子是历史变量。这个值是多少个shell命令的保存,允许用户回滚他们以前输入的所有命令。键入

    %echo $ history

    更多的shell变量的例子是
    cwd(你当前的工作目录)
    home(主目录的路径名)
    路径(shell要搜索的目录以查找命令)
    提示符(用于提示输入交互式命令的文本字符串shell)

     

    找出这些变量的当前值。

    SHELL变量都是使用set命令设置和显示的。它们可以通过使用unset命令来取消设置。 要显示这些变量的所有值,请键入
     
    %set | less
     
     
    那么PATH和path有什么区别呢?
     
    一般而言,具有相同名称的环境变量和shell变量除了可能具有相同的初始值之外,是独立的和独立的。但是,有例外。

    每次shell变量home,user和term被改变时,对应的环境变量HOME,USER和TERM都会收到相同的值。但是,更改环境变量对相应的shell变量没有影响。
    PATH和path指定目录来搜索命令和程序。这两个变量总是表示相同的目录列表,并且改变自动导致另一个被改变。
     
     

    8.4 Using and setting variables

    每次登录UNIX主机时,系统都会在主目录中查找初始化文件。这些文件中的信息用于设置您的工作环境。C和TC shell使用两个名为.login和.cshrc的文件(注意两个文件名都以一个点开头)。

    在登录时,C shell首先读取.cshrc,然后是.login

    .login是设置将应用于整个会话的条件并执行仅在登录时才相关的操作。

    .cshrc用于设置条件并执行特定于shell的操作以及对其的每次调用。

    准则是在.login文件中设置ENVIRONMENT变量,在.cshrc文件中设置SHELL变量。

    警告:切勿将运行图形显示的命令(例如Web浏览器)放在.cshrc或.login文件中。

    8.5 Setting shell variables in the .cshrc file

    在.cshrc文件中设置shell变量

    例如,要更改保存在历史记录列表中的shell命令的数量,您需要设置shell变量历史记录。它默认设置为100,但是如果你愿意,你可以增加这个。

    % set history = 200

    通过键入命令检查设置已经生效

    echo $history

    但是,这只是为当前shell的生命周期设置变量。如果您打开一个新的xterm窗口,它将只设置默认的历史值。要永久设置历史记录的值,您需要将set命令添加到.cshrc文件。
     
    首先在文本编辑器中打开.cshrc文件。一个简单的,使用用户友好的编辑器nedit。
    参考文献:http://www.ee.surrey.ac.uk/Teaching/Unix/unix8.html
     
  • 相关阅读:
    HYSBZ 3813 奇数国
    HYSBZ 4419 发微博
    HYSBZ 1079 着色方案
    HYSBZ 3506 排序机械臂
    HYSBZ 3224 Tyvj 1728 普通平衡树
    Unity 3D,地形属性
    nginx 的naginx 种包含include关键字
    Redis 出现NOAUTH Authentication required解决方案
    mysql 8.0出现 Public Key Retrieval is not allowed
    修改jar包里的源码时候需要注意的问题
  • 原文地址:https://www.cnblogs.com/linweilin/p/8406877.html
Copyright © 2020-2023  润新知