简介
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
Shell的分类
基本上shell分两大类:
一:图形界面shell
(Graphical User Interface shell 即 GUI shell)
例如:应用最为广泛的Windows Explorer(微软的Windows系列操作系统),还有也包括广为人知的Linux shell,其中Linux shell包括X Window Manager(BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 Xfce。
二:命令行式shell
(Command Line Interface shell ,即CLI shell)
例如:
sh(Bourne Shell)/csh/tcsh/bash/ksh/zsh/fish等(Unix及类unix)
COMMAND.COM(CP/M系统;MS-DOS、PC-DOS、DR-DOS、FreeDOS等DOS;Windows 9x)
cmd.exe/命令提示符(OS/2、Windows NT、React OS)
Windows PowerShell(支持.NET Framework技术的Windows NT)
GCOS Command Language (GCL)(Honeywell GCOS) [6]
MULTICS Command Language(MULTICS) [4] [9]
DIGITAL Command Language(DCL)(OpenVMS [7-8] [11] )
RDOS/DOS Command Line Interpreter [5] [10]
传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
shell使用
使用vi文本编辑器
每行一条Linux命令,按执行顺序依次编写
赋予可执行权限 使脚本具有可执行属性
执行脚本文件(特殊文件路径:.当前位置,…上级目录) 方法一:脚本文件路径(若在当前位置,不能直接写文件名) 方法二:sh 脚本文件路径 方法三:source 脚本文件路径(先clear,再执行下列命令)
执行chmod –x first.sh,再运行下面命令,对比结果。
将左侧的命令输出结果,作为右侧命令的处理对象 格式:cmd1 | cmd2 [… | cmdn]
定义一个新的变量 格式:变量名=变量值 变量名以字母或下划线开头,区分大小写,建议全大写 查看变量的值 格式:echo $变量名
赋值时可以使用引号,它们将有如下意义: 双引号:允许通过
符号引用其他变量值如
N
E
W
=
“
W
O
R
D
符号引用其他变量值 如NEW=“WORD
符号引用其他变量值如NEW=“WORDVersion”,将引用上面的变量,结果是WORD3.0 单引号:禁止引用其他变量值,
视为普通字符当需要用
视为普通字符 当需要用
视为普通字符当需要用符号时。如CASH=‘US$IS’ 反撇号:命令替换,提取命令执行后的输出结果 如EX=pgrep –U root | wc –l
,把命令结果赋给EX 从键盘输入内容为变量赋值 格式: read [-p “提示信息”] 变量名 如read –p “请输入循环次数:” CISHU
设置变量的作用范围 格式1:export 变量名 … (已有的变量) 格式2: export 变量名=变量值 …(新定义的变量) —— 两种格式可以混合使用
由系统提前创建,用来设置用户的工作环境 配置文件: /etc/profile、~/.bash_profile
练习 编写脚本程序status、start、stop #cd /bin #vi status systemctl status $1 #chmod +x status #status atd(以前面用过的一次性任务服务为例) 其余2个脚本把红色单词换成start或stop即可。 stop atd(假定已完成该脚本) status atd(显示该已dead) start atd(假定已完成该脚本) status atd(显示该正在running)