1. 编写一个脚本,能够生成完成基础题目(即:“编写shell脚本,该脚本接收两个参数,参数1作为要读写的文件,参数2作为标志位,标识是读还是写。功能完成对参数1所示文件的读写,该文件的内容为 “自己学号的后3位 MYFILE”。“)的脚本,并且自动执行该生成的脚本(执行功能:写入文件)。 请提交代码截图和运行结果截图
时间: 2024-02-06 10:09:31 浏览: 14
抱歉,由于我是一个语言模型,无法提交代码截图和运行结果截图。但我可以提供以下的脚本代码:
```shell
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage: $0 filename flag(r/w)"
exit 1
fi
filename="$1"
flag="$2"
if [ ! -f "$filename" ]; then
echo "File $filename does not exist"
exit 2
fi
if [ "$flag" = "r" ]; then
cat "$filename"
elif [ "$flag" = "w" ]; then
echo "$(whoami | rev | cut -c 1-3) MYFILE" > "$filename"
echo "Write to $filename successfully"
else
echo "Invalid flag"
exit 3
fi
```
这个脚本接收两个参数,第一个参数是要读写的文件名,第二个参数是标志位,表示读还是写。如果标志位是 r,则输出文件内容;如果标志位是 w,则将当前用户的后三位和 MYFILE 写入文件中。
生成的脚本可以使用以下命令:
```shell
echo '#!/bin/bash' > script.sh
echo 'echo "$(whoami | rev | cut -c 1-3) MYFILE" > "$1"' >> script.sh
chmod +x script.sh
```
这个脚本只有一行,将当前用户的后三位和 MYFILE 写入文件中。然后使用 `chmod +x` 命令添加可执行权限。
最后,执行生成的脚本可以使用以下命令:
```shell
./script.sh filename
```
其中,filename 是要写入的文件名。执行后,脚本会将当前用户的后三位和 MYFILE 写入指定的文件中。