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
 

Unix Tutorial Eight的更多相关文章

  1. Unix Tutorial Four

    4.1 wildcards 通配符 * 通配符,配对1个或以上字符 ?通配符,只配对1个 4.2 Filename conventions 文件名约定 注意: 1. 目录是特殊的文件,故文件名的命名规 ...

  2. Linux/Unix

    Linux/Unix 新手和专家教程 你正在找一些高质量的Linux 和 UNIX 的教程吗?如果是,这篇文章会告诉你到哪去找到这些教程.这里我们将给出超过30个相当的不错的 Linux 和 UNIX ...

  3. 常用到的简单命令 Sublime Git NPM WindowsCMD MacTerminal(Unix命令)

    sublime 选择标签及其内容 ctrl+shift+a连续按两次 Git 撤销 add 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 git reset [file] 撤销 c ...

  4. Linux/Unix 新手和专家教程

    你正在找一些高质量的Linux 和 UNIX 的教程吗?如果是,这篇文章会告诉你到哪去找到这些教程.这里我们将给出超过30个相当的不错的 Linux 和 UNIX 在线的教程. 需要大家注意的是,他们 ...

  5. 常用到的简单命令 Sublime Git NPM WindowsCMD MacTerminal(Unix命令) Vim

    sublime 选择标签及其内容 ctrl+shift+a连续按两次 调出Package console: Mac: command + shift + p 安装插件: 1.调出 Package co ...

  6. Linux学习,在线版

    考虑加入Linux教派,最初被Linux吸引是看了<Unix编程艺术>,虽然里面的个别非常教条,极端.但是里面大部分的设计思想我还是认同的. 下面是我整理的一些Linux资料,其实我打算折 ...

  7. Show tree of processes in linux

    pstree(1): tree of processes - Linux man pagehttps://linux.die.net/man/1/pstree How to view process ...

  8. TensorFlow学习路径【转】

    作者:黄璞链接:https://www.zhihu.com/question/41667903/answer/109611087来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  9. TensorFlow学习线路

    如何高效的学习 TensorFlow 代码? 或者如何掌握TensorFlow,应用到任何领域? 作者:黄璞链接:https://www.zhihu.com/question/41667903/ans ...

随机推荐

  1. 2018.5.31 nRF905 test

    1 试电机:自动控制测试流程(Labview程序,加载扫描仪,自动测试夹具,测试数据保存) 2 USB RF收发器: 含S/N码发送读取功能(S/N:) The specific use please ...

  2. QListWidget拖放

    setDragEnabled() 允许拖 setAcceptDrops()允许放 setDragDropMode(QAbstractItemView.DragDrop)设置拖拽模式 setSelect ...

  3. codeforces 633D D. Fibonacci-ish(dfs+暴力+map)

    D. Fibonacci-ish time limit per test 3 seconds memory limit per test 512 megabytes input standard in ...

  4. PS 滤镜——波浪 wave

    %%% Wave %%% 波浪效果 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Alg ...

  5. [原]NYOJ-6174问题-57

    大学生程序代写 /*6174问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b ...

  6. FFMPEG内存操作(二)从内存中读取数及数据格式的转换

    相关博客列表: FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 在雷神 ...

  7. bzoj 3172: [Tjoi2013]单词 fail树

    题目大意: 一篇论文是由许多单词组成,现在想知道每个单词分别在论文中出现多少次. 题解: 我们首先考虑fail指针的含义 如果fail[x] = y,那么我们就知道y作为x的后缀在x中出现了一次 所以 ...

  8. 【LeetCode】060. Permutation Sequence

    题目: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...

  9. Exchange邮箱设置,android手机和mac book

    假设 用户名:abc 密码:123 公司名是:qq 一 android手机: 1 输入地址:abc@qq.com 2 密码:123 3 协议:EXCHANGE 点击下一步 用户名:abc 域名:qqc ...

  10. 批量清除过期的binlog释放磁盘空间

    方案,总共24台db,一台台进去清理肯定不行,得需要写一个脚本,进行批量操作,方案思路大概如下 1,  建立双master列表masterlist; 一个master一行. 2,远程获取master ...