编写shell脚本完成如下功能在/opt目录下以自己的学号创建文件,文件名为学号.txt(20分)
时间: 2024-09-30 20:13:30 浏览: 19
要编写一个Shell脚本来在 `/opt` 目录下以你的学号创建一个名为 `学号.txt` 的文件,你需要首先确保你有适当的权限访问 `/opt`。下面是一个简单的bash脚本示例:
```bash
#!/bin/bash
# 检查是否已设置学号环境变量,如果没有则退出
if [ -z "${STUDENT_NUMBER}" ]; then
echo "请先设置学号(export STUDENT_NUMBER=your_student_number)"
exit 1
fi
# 创建文件名,包含学号
filename="STUDENT_NUMBER.txt"
# 确保路径存在,如果不存在则创建
mkdir -p /opt
# 创建文件
touch "/opt/$filename"
# 检查文件创建是否成功
if [ ! -f "/opt/$filename" ]; then
echo "创建文件失败,检查权限和路径"
else
echo "文件 '/opt/$filename' 已经创建."
fi
# 显示文件路径
echo "你的文件位于: /opt/$filename"
```
请将 `your_student_number` 替换为你的实际学号,并确保设置了环境变量 `STUDENT_NUMBER`。运行此脚本前需要确保你有权限写入 `/opt`。
相关问题
编写Shell脚本,完成: 在/opt下创建一个目录sh,取/etc/profile的前1000字节保存到本目录下 head.txt,取/etc/profile的后1000字节保存到本目录下tail.txt,统计两个文件 的行数,写到wc.txt中,对结果进行排序,输出排序结果。
编写Shell脚本可以分为以下几个步骤:
1. 创建目录 `sh` 如果它不存在:
```bash
mkdir -p /opt/sh
```
2. 使用 `head` 和 `tail` 命令分别获取 `/etc/profile` 的前1000字节和后1000字节,并存入相应的文本文件:
```bash
head -c 1000 /etc/profile > /opt/sh/head.txt
tail -c +$(stat -c%s /etc/profile | awk '{print $1-1000}') /etc/profile > /opt/sh/tail.txt
```
这里我们先计算出 `/etc/profile` 文件的大小,然后从倒数第1001个字符开始截取。
3. 使用 `wc -l` 统计行数并保存到 `wc.txt` 文件:
```bash
wc -l /opt/sh/head.txt /opt/sh/tail.txt > /opt/sh/wc.txt
```
`wc -l` 命令用于计算行数,输出直接追加到 `wc.txt` 中。
4. 对 `wc.txt` 内的内容进行排序:
```bash
sort -n /opt/sh/wc.txt > /opt/sh/sorted_wc.txt
```
`sort -n` 表示按照数字进行排序。
5. 输出排序后的结果:
```bash
cat /opt/sh/sorted_wc.txt
```
完整的脚本如下:
```bash
#!/bin/bash
mkdir -p /opt/sh || exit 1
# 获取头尾部分
head -c 1000 /etc/profile > /opt/sh/head.txt
tail -c +$(stat -c%s /etc/profile | awk '{print $1-1000}') /etc/profile > /opt/sh/tail.txt
# 统计行数并排序
wc -l /opt/sh/head.txt /opt/sh/tail.txt > /opt/sh/wc.txt
sort -n /opt/sh/wc.txt > /opt/sh/sorted_wc.txt
# 输出排序结果
echo "Sorted wc result:"
cat /opt/sh/sorted_wc.txt
```
为了运行这个脚本,需要给予执行权限:
```bash
chmod +x script.sh
./script.sh
```
其中,`script.sh` 是脚本的文件名。执行完成后,你将看到排序后的行数列表。
编写在/opt/ccsp/jodconverter目录下以jodconverter开头的文件赋予755的权限 脚本
可以使用以下脚本来实现在`/opt/ccsp/jodconverter`目录下以`jodconverter`开头的文件赋予755权限:
```bash
#!/bin/bash
# 检查/opt/ccsp/jodconverter目录是否存在
if [ ! -d "/opt/ccsp/jodconverter" ]; then
echo "目录 /opt/ccsp/jodconverter 不存在"
exit 1
fi
# 更改权限
find /opt/ccsp/jodconverter -type f -name "jodconverter*" -exec chmod 755 {} +
```
将以上脚本保存为一个可执行文件,例如`set_permissions.sh`,然后执行以下命令来运行脚本:
```bash
chmod +x set_permissions.sh
./set_permissions.sh
```
这将会将`/opt/ccsp/jodconverter`目录下以`jodconverter`开头的文件赋予755权限。