一、概念
- shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求一遍运行程序的界面系统级程序,用户可以用 shell 来启动、挂起、停止甚至编写一些程序
- shell 还是一个功能相当强盗的编程语言,也是解释执行的脚本语言,在 shell 中可以直接调用 Linux 系统命令。
举例子,用户想要给内核传递计算机命令,首先会在命令行界面(这也是 shell)输入命令;然后,shell 按照 ASCII 码表把命令翻译成机器语言 (即 01) 后;然后,shell 将翻译好的机器语言传给内核;然后,内核调用硬件处理指令;当硬件处理完返回结果给内核;接着,内核将结果返回给 shell,此时结果还是机器语言;接着,shell 将结果按照 ASCII 码表翻译;最后,将翻译结果返回给用户。
shell 的作用:合起来就是起到一个命令行解释器的作用
- 接收用户输入的命令,即命令行界面。
- 用户与内核中间的翻译官:把命令翻译成机器学习,再传递给内核;内核的结果返回给 shell,shell 进行翻译后返回给用户。
Linux 使用的是 B shell,Unix 使用的是 C shell。使用 echo $SHELL
查看当前使用的 shell 类型
[root@localhost home]# echo $SHELL // 查看当前使用的 shell 类型
/bin/bash
[root@localhost home]# sh // 切换成 sh 类型的 shell
sh-4.1# exit
exit
[root@localhost home]# csh // 切换成 csh 类型的 shell
[root@localhost /home]# exit
exit
二、脚本执行
shell 脚本最大的优势:可以调用系统命令
#!/bin/bash
# the first program hello.sh
echo "hello" # 直接调用系统命令
第一行的代码 #!/bin/bash
作用是标记这是一个 shell 脚本。在纯 shell 语言填写的脚本,加不加都能正常运行。但是如果脚本包含其他语言,不加也会无法执行。所以要求加上且写在第一行。
网友评论