练习题 11: 包含脚本并处理特殊变量 编写一个脚本`vars.sh`,定义一些特殊变量,如`$PATH`或`$HOME`。创建另一个脚本`use_vars.sh`,包含`vars.sh`并使用这些特殊变量来执行特定的命令。
时间: 2024-09-22 10:09:06 浏览: 38
在练习题 11 中,你需要编写两个脚本:`vars.sh` 和 `use_vars.sh`。`vars.sh` 脚本主要用于设置或显示系统的一些特殊环境变量,如 `$PATH` 和 `$HOME`。`use_vars.sh` 则会包含 `vars.sh`,并在需要的时候使用这些变量来执行相关的操作。
`vars.sh` 示例脚本:
```bash
#!/bin/bash
# 设置并显示 PATH 变量
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
echo "Current PATH: $PATH"
# 显示 HOME 变量
echo "Home directory: $HOME"
```
在这个脚本中,我们首先设置了 `$PATH` 为常见的本地二进制目录,然后展示了当前的路径。同时,也展示了 `$HOME` 变量,即用户的主目录。
`use_vars.sh` 示例脚本:
```bash
#!/bin/bash
# 加载 vars.sh 文件
source ./vars.sh
# 使用 PATH 变量执行 ls 命令
echo "Executing 'ls' command in the directories in PATH:"
for dir in $PATH; do
ls -l "$dir" &>/dev/null || continue
echo "$dir:"
done
# 使用 HOME 变量执行 cd 命令
echo "Changing to home directory..."
cd $HOME
echo "You are now in: $(pwd)"
```
在这个脚本中,我们先加载 `vars.sh`,接着遍历 `$PATH` 来执行 `ls` 命令,如果某个目录不存在则跳过。最后,切换到 `$HOME` 目录并确认当前工作目录。
阅读全文