Unix & Linux大学教程(二):

第11章  shell

Shell两大家族:Bourne shell家族(Bourne Shell、bash、FreeBSD、Korn Shell、Pdksh、Zsh)和C-Shell家族(C-Shell、Tcsh)。

临时改变shell只需要直接在命令行输入shell名称运行shell,按^D可终止,回到最初shell;查看/etc/shells文件可知道系统安装了哪些shell。

改变登录shell使用chsh(change shell),其语法为:chsh [-s shell]  [userid]

其中userid是希望改变shell的用户标识,shell是新登录shell的路径名。改变登录shell时,修改的是/etc/shell文件,因此要等下一次登录系统时才能生效。

第12章  使用shell:变量和选项

环境变量是全局变量(严格上讲不完全是全局的,子进程对环境变量的修改不会传递到父进程),shell变量是局部变量,要局部变量同时变为环境变量使用export命令。

查看环境变量用命令env或printenv,查看shell变量用set命令。

第13章 使用shell:命令和定制

使用反斜线引用单个字符,使用单引号引用(强引用)一串字符,使用双引号引用(弱引用)一串字符但保留$(美元)、`(反引号)和\(反斜线)的特殊含义。

Bash和Tcsh允许使用特殊码来增强shell提示,其中Bash使用\作为转义字符,Tcsh使用%作为转义字符,例如,Bash中部分特殊码如下:

\w(工作目录)、\h(主机名)、\u(用户标识)、\@(时间:AM/PM表示法) 。

可以将命令封装在反引号中,嵌入其他命令中,例如: echo "The time and date are `date` "。

Bash可以使用^R(重新调用),例如,调用最近的一条ls命令,可以按下^R,然后键入ls。

unalias移除别名,加反斜杠使用原始命令而不使用别名,如\ls使用原始ls。

fc命令可以显示历史命令,并可以修改命令并重新执行,例如:fc -s ls=rm 将上一条命令的ls修改为rm然后执行。

表示法cd \!* 指在原始命令行上键入的任何参数。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。