什么是UNIX? 什么是shell? 常用的shell有哪些? C shell与TC shell的语法和结构?
什么是UNIX?
UNIX是一个多用户、多任务的操作系统,当初设计UNIX的目标是允许大量程序员同时访问计算机,共享它的资源,它非常简单但是功能强大、通用并且可移植。
什么是shell?
Shell是一种特殊的程序,它是用户与UNIX/Linux系统内核程序的接口。
常用的shell有哪些?
UNIX系统大都支持3种主流的shell,分别是Bourne shell(AT&T shell)、C shell(Berkeley shell)和Korn shell(Bourne shell的一个扩展集)。在交互式运行时,这三种shell非常相似,但是作为脚本语言,它们在语法和效率上有一定的区别。bash是当前UINX和Linux用户使用得最为普遍的shell。Linux用户常用的另一个shell是TC shell。Linux上默认的shellshi GNU bash(Bourne Again shell)。可以通过查看/etc/shell目录下的文件查看自己使用的Linux有哪些版本的shell,常用的版本包括bash(Bourne shell)、tcsh(TC shell)、ksh(Korn shell)。
C shell与TC shell的语法和结构?
shbang行 | shbang行是脚本的第一行,它通知内核使用哪种shell解释脚本中的行 #!/bin/csh 或 #!/bin/tcsh |
注释 | # |
通配符 | 有些字符表示特殊的意义,在实际使用中必须用反斜杠或引号进行引用。*、?和[]用于文件名扩展;!是历史命令符。
|
输出 | echo “hello to you\!” |
局部变量 | 局部变量的作用域被限定在当前shell中,当一个脚本执行结束或者shell退出后,它们不再可用。 set variable_name = value set name = “tom” |
全局变量 | setenv VARIABLE_NAME valu setenv PRINTER Shakespeare |
提取局部变量(变量的值) | $ echo $name |
读取用户输入 | $< echo “what is your name?” set name = $< |
数组 | 用一对圆括号括起来,中间用空格隔开。 set names = (Tom Dick Harry Fred) |
保存运算结果 | @+空格 @ n = 9+9 echo $n |