当前位置:网站首页 > Shell脚本编程 > 正文

shell编程视频教程(shell编程菜鸟教程)



1、Shell 变量

使用变量

 
  

重新赋值变量

 
  

只读变量

 
  

删除变量

 
  
2、Shell 字符串

单引号

 
  

双引号

 
  
 
  
  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

获取字符串长度

 
  

提取子字符串

 
  

查找子字符串

 
  
3、Shell 数组

定义数组

 
  

读取数组

 
  
 
  

获取数组的长度

 
  
4、Shell 注释

单行注释

 
  

多行注释

 
  
 
  
5、Shell 传递参数

以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:

 
  
 
  
6、Shell 基本运算符

算术运算符
1

 
  
 
  

关系运算符
2
布尔运算符
3
逻辑运算符
4




字符串运算符
5

文件测试运算符
6

7、Shell echo命令

显示转义字符

 
  

显示换行

 
  

显示结果定向至文件

 
  
8、Shell 流程控制

if else

 
  

if else-if else

 
  

for 循环

 
  

while 语句

 
  

case … esac

 
  
9、Shell 函数
 
  

函数参数

 
  
 
  
10、其他操作

获取上级目录

 
  

获取上上级目录

 
  

BASH_SOURCE 是 Bash shell 的一个特殊变量,它不是一个全局通用的概念,而是专属于 Bash shell 脚本环境的。在 Bash shell 中,BASH_SOURCE 是一个数组,其第一个元素给出了当前正在执行的脚本文件的绝对路径名

和 都可用于在 shell 脚本中获取当前脚本的目录路径,但是它们之间存在一些关键区别:

  1. $(dirname $0):
    • 是一个 shell 变量,它存储着当前执行的脚本名称(通常是相对路径或绝对路径)。
    • 是一个 shell 内置命令,用于从文件路径中提取目录部分。
    • 当在一个脚本中使用 时,它会返回执行脚本的路径(不包括脚本文件名)。

    例子

     
  2. ${BASH_SOURCE[0]}:
    • 是 Bash shell 的一个特殊变量,它提供了脚本本身的源路径(绝对路径)。
    • 与 不同, 在脚本被 (或 )执行时依然能正确反映源脚本的位置,而 在这种情况下会给出执行上下文的脚本(即 sourcing 的那个脚本)的路径。
    • 对于非直接执行(即通过 )的所有情况, 更可靠,因为它始终指向当前解析的脚本文件。

    例子

     

总结来说:

  • 如果仅关心直接执行脚本时的路径,并且不涉及脚本被 执行的情况,两者可能返回相同的结果。
  • 在复杂的脚本嵌套调用或脚本被 执行的场景下,使用 更为准确和一致。特别是在 Bash shell 中,如果需要处理脚本被间接调用的情况,应当优先考虑使用 。
11、字符串补充

将命令的结果赋值给变量

Shell 也支持将命令的执行结果赋值给变量,常见的有以下两种方式:

 
  

第一种方式把命令用反引号(位于 Esc 键的下方)包围起来,反引号和单引号非常相似,容易产生混淆,所以不推荐使用这种方式;第二种方式把命令用$()包围起来,区分更加明显,所以推荐使用这种方式。

12、shell命令test

实例

1、执行npm打包

 
  

2、写一个shell脚本,双击shell文件后自动执行当前文件夹下的指定nodejs文件

创建一个shell脚本文件(例如:run_node_script.sh),并在该文件中编写如下内容:

 
  

保存此文件后,需要赋予其执行权限:

 
  

现在,当你双击这个shell脚本时(或者在终端中运行 ),它会尝试执行当前目录下的app.js文件。

注意:此脚本适用于Linux和macOS系统,Windows环境下可能需要对脚本进行调整以适应cmd或PowerShell环境,并且通常不支持双击直接执行shell脚本,可能需要通过其他方式调用(如通过git bash等)。

到此这篇shell编程视频教程(shell编程菜鸟教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • shell编程简单实例(shell编程100例)2025-07-12 11:45:04
  • shell编程学习(shell编程总结)2025-07-12 11:45:04
  • shell编程学习(shell编程要学多久)2025-07-12 11:45:04
  • shell编程实战(shell编程实例详解)2025-07-12 11:45:04
  • shell编程总结(shell编程100例)2025-07-12 11:45:04
  • ssh免密登录执行shell(ssh免密码登录命令)2025-07-12 11:45:04
  • shell编程总结(shell编程入门)2025-07-12 11:45:04
  • shell编程教程(shell编程入门)2025-07-12 11:45:04
  • shell编程基础(shell编程基础知识)2025-07-12 11:45:04
  • ssh免密不生效(ssh免密登录执行shell)2025-07-12 11:45:04
  • 全屏图片