Shell入门(一)之简介

一、Shell 定义

(1)Shell

  Shell是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

(2)Shell 脚本(shell script)

  Shell 脚本是一种为 shell 编写的脚本程序

  业界所说的 shell 通常都是指shell 脚本。shell 和 shell script 是两个不同的概念。由于习惯的原因,出现的 "shell编程" 都是指 shell 脚本编程,不是指开发 shell 自身。

 

二、Shell 种类

Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

Linux 的 Shell 种类众多,常见的有:

(1)Bourne Shell(/usr/bin/sh或/bin/sh)

(2)Bourne Again Shell(/bin/bash)

(3)C Shell(/usr/bin/csh)

(4)K Shell(/usr/bin/ksh)

(5)Shell for Root(/sbin/sh)

 

三、第一个shell程序

#!/bin/bash
echo "第一个程序"

在线shell编程地址:http://www.runoob.com/try/runcode.php?filename=helloworld&type=bash

 

四、运行 Shell 脚本

(1)作为可执行程序

将上面的代码保存为firstProgram.sh,并 cd 到firstProgram.sh的目录:

chmod +x firstProgram.sh  #使脚本具有执行权限
./firstProgram.sh  #执行脚本 

注意,一定要写成 ./firstProgram.sh,而不是 firstProgram.sh,运行其它二进制的程序也一样。
直接写 firstProgram.sh,linux 系统会去PATH里寻找有没有叫firstProgram.sh的,而只有/bin,/sbin,/usr/bin,/usr/sbin 等在 PATH 里,当前目录通常不在PATH里,所以写成 firstProgram.sh 是会找不到命令的,要用 ./firstProgram.sh 告诉系统说,就在当前目录找。

 

(2)作为解释器参数

这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:

/bin/sh firstProgram.sh

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331466.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

aws dynamodb_使用适用于Java 2的AWS开发工具包的AWS DynamoDB版本字段

aws dynamodb将任何实体上的版本属性保存到 AWS DynamoDB数据库,它只是表示已修改实体次数的数字表示。 首次创建实体时,可以将其设置为1,然后在每次更新时递增。 好处是立竿见影的-指示实体已被修改的次数,可用于审核实体。 此…

本地方法(JNI)——调用 java 方法

【0】README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法(JNI)——调用 java 方法 的基础知识 ; 2) C语言调用java 方法,包括: 静态C 方法 和 非静态C 方法…

Shell入门(二)之变量

一、shell变量类型 shell变量一般只有两种类型:数值型与字符串型。 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。 …

aws部署ssh_将Quarkus应用程序部署到AWS Elastic Beanstalk

aws部署sshElastic Beanstalk允许在AWS云中部署和管理应用程序,而无需了解运行这些应用程序的基础架构。 使用Elastic Beanstalk,您可以运行可处理HTTP请求的网站,Web应用程序或Web API,但也可以运行辅助应用程序以运行长任务。 …

本地方法(JNI)——访问数组元素+错误处理

【0】README 1) 本文文字描述 均转自 core java volume 2 , 旨在理解 本地方法(JNI)——访问数组元素错误处理 的基础知识 ; 2)for source code, please visit : https://github.com/pacosonTang/core-j…

Shell入门(三)之字符串

一、单引号 字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 单引号不存在转义字符,如:\a,\n,$abc #!/bin/bash aabc b${a}bc; echo $b; #结果为:${a}bc…

tms tck_在雅加达EE TCK中使用Arquillian的可能方法

tms tck最近,我们讨论了如何创建独立的Jakarta Batch测试套件(TCK)。 对于大多数提交者而言,使用Arquillian将测试从实现中如何执行抽象化是很自然的。 但是Romain提出了一个有趣的想法,即使用纯JUnit5引起了我的思考。…

本地方法(JNI)——使用调用API

【0】README 1) 本文文字描述source code 均转自 core java volume 2 , 旨在理解 本地方法(JNI)——使用调用API 的基础知识 ; 2) for source code, please visit : https://github.com/pacosonTang/cor…

Shell入门(四)之数组

一、一维数组 bash支持一维数组(不支持多维数组),并且没有限定数组的大小。 类似与C语言,数组元素的下标由0开始编号。 二、定义数组 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。…

aws cloud map_销毁AWS资源:Cloud-Nuke还是AWS-Nuke?

aws cloud map因此,您在开发帐户上工作,并且Terraform陷入了一个循环,难道不让您轻易销毁剩余资源吗? 进入nuke CLI的世界! 在撰写本文时,我使用的是v0.1.16版本 用Go语言编写的《 Gruntwork》不会破坏掉…

mysql error 1045 的解决方法

【0】README 1)以下是 解决方法的steps: step1)点击 skip 和 cancel 退出 mysql 配置 step2) 重启mysql server config wizard, 然后 remove instance step3) 随后卸载mysql(通过360或 …

Shell入门(五)之参数

一、Shell 传递参数 在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,0为执行文件名,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推 比如&…

openj9下载_Quarkus on OpenJ9 JVM和资源消耗

openj9下载除了本机模式,Quarkus在JVM模式下也能很好地运行,这有其自身的优势。 您可以使用替代的JVM,例如OpenJ9,它可以更好地消耗资源。 在下面的视频中,我将展示交换JVM有多么容易。 在视频中,我在最新…

Shell入门(六)之算术运算

一、数学运算 (1)原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 (2)expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 ex…

java数据库编程——执行SQL 语句

【0】README 1) 本文文字描述source code 均转自 core java volume 2 , 旨在理解 java数据库编程——执行SQL 语句 的基础知识 ; 2)for source code, please visit : https://github.com/pacosonTang/core-java-vol…

php cdi_Quarkus的其他(非标准)CDI功能

php cdiQuarkus支持CDI(上下文和依赖注入)2.0,但并非全部,仅支持最常见的功能。 但是,Quarkus确实包含一些非标准功能,这些功能对于开发人员非常方便,我想在下面的视频中进行展示。 不管您是否…

Shell入门(七)之关系运算

一、关系运算 shell关系运算符只支持数字,不支持字符串,除非字符串的值是数字。 a10 b20 运算符说明举例-eq检测两个数是否相等,相等返回 true。[ $a -eq $b ] 返回 false。-ne检测两个数是否相等,不相等返回 true。[ $a -ne $…

java数据库编程——Insert and Retrieve Images from MySql Table Using Java

【0】README0.1)本文翻译自 http://harmeetsingh13.blogspot.jp/2013/03/insert-and-retrieve-images-from-mysql.html【1】正文如下:段1)演示 从数据库表中插入和查询出图片。大多数情况下,图片数据都存储在数据库外部的一些文件…

Shell入门(八)之布尔运算

一、常规的布尔运算 常规的布尔运算符有:!、&&、|| 使用语法 ! exp exp && exp exp || exp [[ n op m && a op b]] ... exp为[ n op m ]或test n op m或true或false 二、条件测试的布尔运算 条件测试的布尔运算有:!、…

java switch语句_Java 14:查看更新的switch语句

java switch语句于2020年3月发布的JDK 14带有switch语句的更新版本。 这是JDK 12和JDK 13中的预览功能。 要了解差异,让我们看一个简单的示例。 假设我们要基于DayOfWeek枚举来计算每日工作时间。 使用旧的使用switch语句的方法,我们的解决方案可能如下…