shell 编程(1)——vim安装与使用
目录
- 一、安装vim
- 步骤 1:执行安装命令
- 步骤 2:输入密码并确认
- 步骤 3:验证安装
- 二、安装报错解决办法
- 步骤1:查看ubuntu系统版本
- 步骤2:更新软件包列表
- 步骤3:备份原有软件源配置
- 步骤4:编辑软件源配置文件
- 步骤5:再次更新软件包列表
- 步骤6:重新安装 `vim`
- 三、shell 脚本定义
- 四、shebang
- 1.$SHELL是什么
- 2.注意事项:
- 五、编写shell 脚本
- 1. 创建并打开脚本文件
- 2. 进入编辑模式
- 3. 编写 Shell 脚本内容
- 4. 保存并退出
- 5. 赋予执行权限(推荐)
- 6. 运行脚本(验证结果)
一、安装vim
使用vim命令报错Command ‘vim’ not found,系统在所有已知的命令路径中都找不到 vim 这个程序。
解决办法如下:
步骤 1:执行安装命令
在终端中输入以下命令,然后按回车:
sudo apt install vim
sudo:以管理员(root)权限执行命令。安装软件需要管理员权限。
apt:是 Debian/Ubuntu 系列 Linux 发行版的包管理工具,用于安装、卸载和更新软件。
install vim:表示安装名为 vim 的软件包。
步骤 2:输入密码并确认
系统会提示你输入当前用户的密码。输入时密码不会显示在屏幕上,输完后按回车即可。
之后,系统会计算需要下载和安装的文件大小,并询问你是否继续,会显示 [Y/n]。
直接按回车(默认选择 Y),或者输入 y 再按回车,开始安装。
步骤 3:验证安装
安装完成后,终端会返回到命令提示符。此时,可以再次尝试运行 vim 命令:
vim why.sh
Vim 编辑器应该能正常启动。
二、安装报错解决办法
步骤1:查看ubuntu系统版本
使用 lsb_release 命令,这是查看 Ubuntu 版本最标准、最直接的命令。
lsb_release -a
根据系统版本为Ubuntu 24.04,Codename noble
开展以下步骤
步骤2:更新软件包列表
执行 sudo apt update
刷新本地包索引:
sudo apt update
步骤3:备份原有软件源配置
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
步骤4:编辑软件源配置文件
使用 nano
编辑源文件,替换为阿里云的 noble
版本镜像:
sudo nano /etc/apt/sources.list
将文件内容全部替换为以下内容(适配 Ubuntu 24.04 noble
):
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
编辑完成后,按 Ctrl+X
→ 按 Y
确认保存 → 按 Enter
退出 nano
。
步骤5:再次更新软件包列表
sudo apt update
步骤6:重新安装 vim
sudo apt install vim
以上步骤就能解决软件源失效的问题,顺利完成 vim
的安装。
三、shell 脚本定义
在 Linux 系统中,Shell 脚本 是一种由一系列 Shell 命令组成的文本文件,它可以按顺序自动执行这些命令,实现批量处理、自动化任务等功能。
简单来说,Shell 脚本就像是一个命令的集合—— 可以把平时在终端中手动输入的多条命令写进一个文本文件,然后让系统一次性执行这个文件里的所有命令。
Shell 脚本的核心特点:
文本文件:由纯文本组成,可直接用 vim、nano 等编辑器编写。
按顺序执行:命令从上到下依次运行,逻辑清晰。
支持编程特性:除了基础命令,还可以包含变量、条件判断(if-else)、循环(for、while)、函数等编程元素,实现复杂逻辑。
依赖 Shell 解释器:需要通过 Shell(如 bash、zsh 等)解释执行,通常通过脚本首行的 #!/bin/bash 指定解释器。
- windows 中存在 *.bat 批处理脚本
- Linux中常用 *.sh 脚本文件
在Linux系统中,shell 脚本或者称之为(bash shell程序)通常都是 vim 编程,有Linux 命令、bash shell 指令、逻辑控制语句和注释信息组成。
四、shebang
计算机程序中,shebang 指的是出现在文本文件的第一行前两个字符**#!**
vim hello.sh
- 以
#!/bin/sh
开头的文件,程序在执行的时候会调用/bin/sh
,也就是bash解释器 - 以
#!/usr/bin/python
开头的文件,代表指定python解释器去执行 - 以
#!/usr/bin/env 解释器名称
,是一种在不同平台上都能正确找到解释器的办法
1.$SHELL是什么
$SHELL 是一个环境变量,表示当前用户默认的登录 Shell。它的值通常是 /bin/bash。
- 查看方法:echo $SHELL
- 注意:它只表示 “默认” 的 Shell,不代表 “当前正在使用” 的 Shell
2.注意事项:
- 如果脚本未指定 shebang ,脚本执行的时候,默认用当前shell去解释脚本,即
$SHELL
- 如果 shebang 指定了可执行的解释器,如
/bin/bash
/usr/bin/python
,脚本在执行时,文件名会作为参数传递给解释器 - 如果#指定的解释程序没有可执行权限,则会报错“bad interpreter: Permission denied”。
- 如果#指定的解释程序不是一个可执行文件,那么指定的解释程序会被忽略,转而交给当前的SHELL去执行这个脚本。
- 如果#指定的解释程序不存在,那么会报错“bad interpreter: No such file or directory”。
- #!之后的解释程序,需要写其绝对路径(如:
#!/bin/bash
),它是不会自动到$PATH
中寻找解释器的。 - 如果你使用
bash test.sh
这样的命令来执行脚本,那么#这一行将会被忽略掉,解释器当然是用命令行中显式指定的bash。
五、编写shell 脚本
使用 vim
编写 Shell 脚本的步骤如下,包含从创建文件到保存退出的完整流程:
1. 创建并打开脚本文件
在终端中输入以下命令,创建并打开一个 .sh
后缀的脚本文件(例如 test.sh
):
vim test.sh
此时会进入 vim
的命令模式。
2. 进入编辑模式
在命令模式下按 i
键(insert 的缩写),进入插入模式,此时可以开始输入脚本内容。
3. 编写 Shell 脚本内容
在插入模式下,输入脚本代码,例如一个简单的示例:
#!/bin/bash
# 这是一个测试脚本
echo "Hello, Shell!"
echo "当前时间:$(date)"
- 第一行
#!/bin/bash
是固定格式,指定脚本使用 bash 解释器 #
开头的行是注释- 其他行为具体命令
4. 保存并退出
完成编写后,按 Esc
键退出插入模式,回到命令模式,然后:
- 输入
:wq
并按回车(w
表示保存,q
表示退出) - 若无需保存直接退出,输入
:q!
并按回车(!
表示强制)
5. 赋予执行权限(推荐)
脚本保存后,需赋予执行权限才能直接运行:
chmod +x test.sh
Linux 中,新创建的文件默认没有执行权限,即使内容是可执行的脚本,也需要手动赋予执行权限才能通过 ./脚本名 直接运行(否则需用 bash 脚本名 间接执行)。
默认权限:使用 vim 或 touch 创建的文件,默认权限通常是 -rw-r–r–(644),即:
所有者(u):可读、可写
所属组(g):可读
其他用户(o):可读
(无执行权限 x)
6. 运行脚本(验证结果)
./test.sh