【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式

摘要:
Shell本身是一个用C语言编写的程序,用户的大部分工作都是通过Shell完成的。Shell是一种命令语言,它以交互方式解释和执行用户输入的命令;但它调用系统的大多数核心功能来执行程序、创建文件,并以并行方式协调各种程序的操作。shell有两种执行命令的方式:解释和执行用户的命令。用户输入一个命令,用户预先编写一个shell脚本,让shell立即执行这些命令。

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。

可以说,shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度。

注意:单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Linux 基础。

Shell有两种执行命令的方式:

  • 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
  • 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。


Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。

Shell初学者请注意,在平常应用中,建议不要用 root 帐号运行 Shell 。作为普通用户,不管您有意还是无意,都无法破坏系统;但如果是 root,那就不同了,只要敲几个字母,就可能导致灾难性后果。

免责声明:文章转载自《【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#函数可变参数的使用关于三级联动或者四级联动等的一些思考下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

centos 添加/删除用户和用户组

centos系统添加/删除用户和用户组    在centos中增加用户使用adduser命令而创建用户组使用groupadd命令,这个是不是非常的方便呀,其实复杂点的就是用户的组与组权限的命令了,下面来给各位介绍一下吧。   1、建用户: adduser phpq                         //新建phpq用户passwd phpq...

17用户身份管理

一. 用户身份概述 设计Linux系统的初衷之一就是为了满足多个用户同事工作的需求,因此LInux系统必须具备很好的安全性。 1.用户ID——UID 在RHEL7系统中,用户身份有如下这些: 管理员UID为0:系统的管理员用户。 系统用户UID为1——999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统...

中标麒麟系统安装教程及常见错误处理

中标麒麟系统安装教程及常见错误处理 系统安装过程 一、系统启动盘制作步骤 下载镜像文件 下载制作镜像工具UltraISO 准备一个4.7G的新光盘 利用UltraISO制作系统启动盘 二、UltraISO系统启动盘制作详细过程 在电脑光驱中放入光盘,右键以管理员身份运行UltraISO启动光盘制作工具; 点击电子菜单栏的工具选择刻录光盘映像选项...

CentOS 7上的系统管理之:Systemd和systemctl

参考资料: Chapter 10. Managing Services with systemd Red Hat Enterprise Linux 7 | Red Hat Customer Portal systemd - Wikipedia man手册:systemd(1)和systemctl(1) IBM developer works上,刘明老师关...

asp.net core 集成JWT(二)token的强制失效,基于策略模式细化api权限

【前言】   上一篇我们介绍了什么是JWT,以及如何在asp.net core api项目中集成JWT权限认证。传送门:https://www.cnblogs.com/7tiny/p/11012035.html   很多博友在留言中提出了疑问: 如何结合jwt认证对用户进行API授权? token过期了怎么办? 如何自动刷新token? 如何强制toke...

使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法 分类: HI3531 arm-linux-Ubuntu 2013-12-07 15:10 697人阅读 评论(0) 收藏

1. 简要说明 JLink的调试功能、烧写Flash的功能都很强大,但是对于S3C2410、S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢;烧写Nand Flash只是从理论上能够达到,但是还没有人直接实现这点。 本文使用一个间接的方法来实现对S3C2410、S3C2440开发板的Nor、Nand Fl...