美文网首页
Shell初体验(一) —— Shell入门(一)

Shell初体验(一) —— Shell入门(一)

作者: 刀客传奇 | 来源:发表于2023-07-16 10:56 被阅读0次

版本记录

版本号 时间
V1.0 2023.07.17 星期一

前言

Shell脚本相信大家都用过,Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 脚本(shell script),是一种为 shell 编写的脚本程序。大家平时说的和用到的都是指的是shell脚本编程,不是指开发shell自身。这个模块我们就一起来看下shell脚本编程。

Shell环境

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

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

  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)

编写第一个Shell脚本

1. 创建脚本文件

我们先在桌面上新建一个文件夹,并命名为work

cd Desktop
mkdir work

然后在这个文件夹中,新建一个空白的shell脚本,可以用下面命令:

touch test.sh

这样一个新的空白的shell脚本文件就创建好了。

2. 编辑Shell脚本

下面我们就开始编辑Shell脚本了。

#!/bin/bash

echo "hello world!"

一共就2句代码,功能就是在控制台输出hello world!

代码说明

  • #!/bin/bash这里的#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell
  • echo 命令用于向窗口输出文本。

执行Shell脚本

下面我们看下执行Shell脚本的几个方法:

1. 作为可执行程序

我们cd到work文件夹,也就是test.sh脚本所在的目录,直接执行下面两个方法之一

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

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

2. 作为解释器参数

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

/bin/sh test.sh
/bin/php test.php

这里/bin/sh/bin/php都是解析器,后面的test.shtest.php是脚本文件名。

下面我们就实际操作,我们在终端中直接作为可执行程序执行脚本

./test.sh

会发现报错了

zsh: permission denied: ./test.sh

问题原因:用户没有权限,需要用chmod修改下权限

chmod u+x test.sh

然后我们接着执行./test.sh,就会在控制台输出了hello world!

chmod是权限管理命令change the permissions mode of a file的缩写,u代表所有者,x代表执行权限,+表示增加权限
chmod u+x test.sh就表示对当前目录下的test.sh文件的所有者增加可执行权限。

后记

后面我们在很多场景,比如生成库或者执行CR等,都可以使用shell脚本,简化流程,提高效率。

相关文章

  • 二,shell脚本初体验

    1.Shell shell初体验 第一个shell程序:shell.sh (输出hello world!) 1.编...

  • Shell 概述

    学习 Shell 主要包括的内容: Shell 脚本入门 Shell 变量 Shell 内置命令 Shell 运算...

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • shell基础

    shell入门

  • bash入门

    Bourne-Again SHell; Born Again SHell Introduction 写作“入门”,...

  • shell入门学习(1)——语法基础

    本文为转载,原文:shell入门学习(1)——语法基础 介绍 Shell Script,Shell脚本与Windo...

  • 2019-09-19

    Shell 概述 Shell 解析器 查看系统shell解析器 默认解析器为bash Shell 脚本入门 新建h...

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • 后端运维人员必备shell编程入门

    本文转载自 公众号 Snailclimb Shell 编程入门 走进 Shell 编程的大门 为什么要学Shell...

  • shell脚本

    shell入门 脚本格式入门 脚本以!/bin/bash开头,指定解析器 第一个shell脚本 需求 创建shel...

网友评论

      本文标题:Shell初体验(一) —— Shell入门(一)

      本文链接:https://www.haomeiwen.com/subject/edamudtx.html