一、shell脚本用来配置文件,操作命令配置
"Shell" 在中文中通常被翻译为“壳”或者“外壳”。在计算机科学领域,Shell 指的是用户与操作系统之间的交互界面,它允许用户通过命令行输入指令来控制操作系统。Shell 脚本则是指用 Shell 编写的脚本文件,它可以被 Shell 解释器执行。Shell 脚本通常用于自动化任务,如文件管理、系统监控、程序部署等。
"Bash" 是 "Bourne-Again SHell" 的缩写,在中文中通常被翻译为“Bourne-Again 壳”或者简称为“Bash 壳”。Bash 是一种广泛使用的 Unix shell 和命令语言,它是 GNU 项目的一部分,并且是许多 Linux 发行版默认的 shell。Bash 提供了一个强大的命令行界面,允许用户通过命令行与操作系统交互。它支持各种脚本编程特性,如变量、条件判断、循环、函数等,并且可以方便地与其他 Unix 工具配合使用。
shell文件后缀.sh
二、change mode chmod+x改变权限加可执行权限
第一行给操作系统说明用bash解析
#!/bin/bash 是 Shell 脚本的第一行,也被称为 shebang(或称作 hash-bang)。这一行非常重要,因为它告诉系统使用哪个 shell 解释器来运行脚本。•# 是一个注释字符,但在这个上下文中,它与后面的 ! 组合在一起构成了 shebang。•!/bin/bash 指定 /bin/bash 作为解释器,即使用 Bash shell 来运行此脚本。当脚本文件被直接执行时,例如通过 ./myscript.sh 的方式,系统会查找第一行中的 shebang 来确定应该使用哪个 shell 来解释并执行脚本的内容。
"bin" 在计算机领域中通常被翻译为“二进制文件目录”或简称“二进制目录”。在 Unix 和类 Unix 系统(如 Linux 和 macOS)中,/bin 是一个标准目录,用于存放基本的用户命令的可执行文件。关键点:1. 目录用途:•/bin 目录通常包含了系统中最常用的基本命令,这些命令对系统的正常运行至关重要。•这些命令一般是以二进制形式编译的,因此称为“二进制文件”。2. 命令示例:•/bin 目录中的一些常见命令包括 ls(列出目录内容)、cp(复制文件)、mv(移动或重命名文件)、rm(删除文件)等。3. 权限和访问:•/bin 目录中的大多数命令都是以可执行权限设置的,并且通常对所有用户都可用。•这些命令通常由 root 用户安装和管理,普通用户也可以使用它们。4. 路径约定:•在 Unix 和类 Unix 系统中,/bin 路径是环境变量 PATH 的一部分,这意味着用户可以在任何地方直接调用这些命令,而不需要指定完整的路径。
三、echo" 在中文中通常被翻译为“回声”或“回响”。在计算机科学领域,特别是在 Unix/Linux 系统中,echo 命令被用来输出文本或变量的值到标准输出(通常是终端或命令行界面)。
-b 块设备 -c 字符设备 -l软链接 -p管道文件:给进程之间做 数据交互 -s套接字
比如chmod 777 1.sh就是让1.sh处于作者可读写执行状态,x是可以执行否
env environment 环境变量
环境变量,打开path路径,命令如果在path下面就可以直接运行,说明是环境参数,
argc argument count,记录命令行参数个数,argv argument vector在计算机科学中,"vector" 通常被翻译为“向量”或“矢量”。它是指一种动态数组,能够根据需要自动调整大小。在 C++ 标准模板库 (STL) 中,std::vector 类就是一个动态数组容器的例子。
char *a[10]每个里面是一个字符串首地址
$0,$1有点类似c中的%d,不过这个是代表第几个参数
说明命令执行成功
进程编号,为了人系统分辨比如给哪个bash
agrc算第一个参数,$#只算后面的不算第一个参数
不用写类型,默认字符串
expr命令是告诉系统是express表达式然后字符串转换为int,进行运算
乘要换为转义*,因为*有其他意义,是通配符,把所有文件执行
then左大括号,fi右大括号
test 返0,为真
1是命令,2是linux系统库函数,3是c标准库函数,test 相当于 [ ]
-a and 与 -o or 或
*相当于default,a|b,两个都可以跳转到此语句,;;是break
为假执行,为真停止
命令状态下对齐按=ctrl u撤销 gg到最上面GG到最下面然后按v选中