AIX 读取 profile 的机制.docx_第1页
AIX 读取 profile 的机制.docx_第2页
AIX 读取 profile 的机制.docx_第3页
AIX 读取 profile 的机制.docx_第4页
AIX 读取 profile 的机制.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简介 AIX 读取 profile 的机制在我们的工作中,经常会重复的敲击和记忆一样的命令,特别是那些冗长的路径。如果我们了解了 AIX 读取 profile 的机制,我们就可以提前设置我们的工作环境,给我们的日常工作带来极大的便利,提高我们的工作效率。首先,我们要了解 shell 在登录的过程中是如何读取环境变量的。这样,我们可以在读取环境变量之前,设置我们想要的工作环境,让我们在工作中的效率更高。不需要每时每刻都要去记忆敲击一大堆带有冗长路径的命令。好吧,就让我们开始吧。在 AIX 系统启动以后,如果我们登录系统并且登录用户的默认 shell 是 Korn Shell 的话,shell 会读取以前设置的初始化文件来设置登录用户的环境。用户环境的定义是通过设置环境变量来实现的。当登录操作系统时,shell 先执行 /etc/environment,后执行 /etc/profile 的。/etc/environment 是设置整个系统的环境,而 /etc/profile 是设置所有用户的环境,/etc/environment 与登录用户无关,/etc/profile 与用户相关。登录时,这两个文件运行完毕后 , 系统会接着检查在登录用户的 home 目录下是否有 .profile 文件,如果 “.profile” 文件存在 , 就执行它。“.profile”文件还会指出是否还有一个环境文件。如果有环境文件 (.env 或者 .kshrc) 存在 , 系统会运行这个文件 , 并设置登录用户的环境。注意:“/etc/environment”,“/etc/profile”,“.profile”是在登录时执行一次。“.env”文件是我们每次打开一个新的终端的时候都会执行的。介绍 profile 的组成接下来,我们来了解一下 profile 相关文件的具体信息。/etc/profile用户在登录时 ,AIX 定制用户环境时使用的第一个文件就是 /etc/profile。这个文件保存着全系统范围内的缺省变量,比如 Export 变量 , 文件创建的掩码 , 终端类型等。Root 用户为所有用户配置“.profile”文件 , 只有 Root 可以更改这个文件。/etc/environment在登录时 AIX 使用的第二个文件是 /etc/environment。/etc/environment 文件包含所有进程的基本环境变量。下面是构成基本环境的变量 : HOME: 用户登录的或 HOME 全路径 , 登录程序从 /etc/passwd 文件中读取并设置它。 LANG:语言环境 NLSPATH:消息目录的全路径。 LOCPATH:国际语言支持系统表格的全路径 PATH:搜寻命令的目录 TZ:时区信息 ,IBM 到现在还得用 TAIST 台北时区 .profile AIX 在登录时用到的第三个文件是 .profile 文件。 .profile 文件位于用户的 home 目录 , 它允许用户定制自己的个人的工作环境。大多数情况下,我们都需要使用这个文件来定制自己的工作环境。在 LOGNAME 和 HOME 变量被加入到环境中后 ,$HOME/.profile 文件中的内容就会被执行。“.profile”文件中含有你个人的设置,如果和 /etc/profile 中的设置相冲突,就会覆盖 /etc/profile 文件中的相矛盾的变量。.env如果你在 .profile 文件中有如下内容 :ENV=$HOME/.env, AIX 在用户登录时使用的第四个文件是“.env”文件。“.env”文件中含有你个人的设置,如果和 /etc/profile 中的设置相冲突,就会覆盖 /etc/profile 文件中的相矛盾的变量。注意: $HOME/.env 文件名可以任意 , 但在 $HOME/.profile 中要有相应的声明:export ENV=$HOME/.envName $HOME/.env 文件每当一个子 shell 被开启都会被执行 , 所以可以在这里定义在 vi 中开启的子 shell 中也可以使用的别名。 这四个定制环境的文件中 ,/etc/environment 文件中只能给变量赋值 , 而其它三个文件可以使用语句。回页首举例,通过实例讲述如何修改 profile 来实现下列功能下面我们通过实际的事例来体会一下如何给我们的工作带来便利吧。通过使用 ARROW Keys 如何重新取得历史命令很多时候我们希望在 AIX 下,按下 ARROW Keys(就是小键盘上的上下左右键), 可以让我们重新取得留在历史列表中的命令,就想我们在 Linux 系统里面习惯的那样。但是 AIX 在默认状态下,并不是那么友好。我们只好自己动手,丰衣足食了。哈哈!按照下面的步骤做,我们马上开始吧。1) 在 /.profile 里面加入下面的代码export ENV=$HOME/.kshrc 2) 在 /.kshrc 加入下面的代码 case $- in *i*) #interactive ksh # This stuff lets the arrow keys work in an xterm. set -o emacs # set editing-mode as emacs alias _A=echo 020 # set up arrow key alias _B=echo 016 # set down arrow key alias _C=echo 006 # set right arrow key alias _D=echo 002 # set left arrow key esac alias ls=ls -F让我们在看看 .kshrc 文件。图 1 .kshrc 文件再次登录 AIX,按下 ARROW Keys(就是小键盘上的上下左右键)。看,我们熟悉的功能回来了。如何简化 PATH在我们的工作中,很多时候许多命令是很难于记忆的。这时,我们可以使用 alias 这个概念。通过使用 alias 这个命令,我们可以给一个复杂冗长的命令取一个言简意赅的名字。首先,我们先来看看 alias 的官方帮助。alias 命令创建或重定义别名定义或将现有别名定义写至标准输出。如果未提供标志或参数,则将所有现有别名定义写至标准输出。可以通过使用 AliasName 参数来显示特定的别名定义。通过使用 AliasName=String 参数对来创建新的别名。当 shell 在命令行上或 shell 脚本中碰到别名时,它替换此字符串提供的定义。String 变量可以包含任何有效的 shell 文本。如果此字符串包含空格,请将 String 变量的值括在单引号内。如果 AliasName 参数不是一个有效的名称,则 alias 命令显示一条错误消息。如果指定 -t 标志,则 shell 显示被跟踪的别名。一个被跟踪的命令使用该命令的完整路径名称。当重新设置 PATH 环境变量的值时,被跟踪的命令可能变成未定义,但用 -t 标志创建的别名仍旧被跟踪。如果指定 -x 标志,shell 显示导出的别名。导出的别名在所有 shell 中都是活动的。别名定义影响当前 shell 环境和任何子 shell 的执行环境。别名定义不影响当前 shell 的父进程或 shell 调用的任何实用程序环境。标志-t 设置或显示所有现有被跟踪的别名。如果此标志和 AliasName 参数一起使用,则跟踪新的别名且别名定义包含通过进行路径搜索而获得的完整路径名称。当重新设置 PATH 环境变量的值时,别名定义变成未定义但仍旧被跟踪。-x 显示所有现有的导出的别名定义。如果此标志和 AliasName 参数一起使用,则导出新的别名。导出的别名不在 shell 的单独的调用间定义。必须将别名定义置于您的环境文件中以使别名对于单独的 shell 调用都是已经定义的。退出状态返回以下出口值:0 成功完成。0 指定的别名名称之一不具有别名定义或发生错误。下面我们来看看实际的例子。先看看在 AIX 里面显示系统日志的命令。看到“errpt -a | /usr/lpp/diagnostics/bin/analyzelogs - v d”这个命令了吧,很长,很不容易记忆。这个命令是从 AIX 的 error log 中找出我们感兴趣的错误信息并打印出来。图 2. errpt 示例看来,我们要求助 alias 来为这个冗长的命令起一个名字了。图 3. alias 示例接下来就是见证 alias 能力的时刻了,呵呵。看,我们只要敲下“analyzelog”这个别名,就可以看到和上面那个冗长命令一样的输出结果。图 4. alias 结果如何加入 CLASSPATH,如何加入系统环境变量如果我们要在 AIX 下进行 Java 程序编写,势必要导入许多 CLASSPATH。我们可以使用 export 来导入 CLASS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论