1. 编写一个脚本,能够生成完成基础题目(即:“编写shell脚本,该脚本接收两个参数,参数1作为要读写的文件,参数2作为标志位,标识是读还是写。功能完成对参数1所示文件的读写,该文件的内容为 “自己学号的后3位 MYFILE”。“)的脚本,并且自动执行该生成的脚本(执行功能:写入文件)。 请提交代码截图和运行结果截图
时间: 2024-02-06 17:08:46 浏览: 71
抱歉,由于我是一个语言模型AI,无法生成和运行代码截图。但是我可以提供代码示例:
```shell
#!/bin/bash
file=$1
flag=$2
if [ $flag == "r" ]; then
cat $file
elif [ $flag == "w" ]; then
echo "$(whoami | sed 's/.*\(...\)/\1/') MYFILE" > $file
fi
```
这个脚本接收两个参数:参数1表示要读写的文件名,参数2表示读写标志(r表示读,w表示写)。
如果标志位是r,脚本会输出文件的内容;如果标志位是w,脚本会写入一个字符串到文件中,该字符串格式为“自己学号的后3位 MYFILE”。
下面是自动生成并执行该脚本的代码:
```shell
#!/bin/bash
echo '#!/bin/bash' > script.sh
echo 'file=$1' >> script.sh
echo 'flag=$2' >> script.sh
echo '' >> script.sh
echo 'if [ $flag == "r" ]; then' >> script.sh
echo ' cat $file' >> script.sh
echo 'elif [ $flag == "w" ]; then' >> script.sh
echo ' echo "$(whoami | sed 's/.*\(...\)/\1/') MYFILE" > $file' >> script.sh
echo 'fi' >> script.sh
chmod +x script.sh
./script.sh myfile w
cat myfile
```
在这个例子中,我们将自动生成的脚本保存为script.sh文件,并授予它执行权限。然后,我们使用./script.sh myfile w命令执行脚本,并将输出保存到myfile文件中。最后,我们使用cat命令输出myfile文件的内容。
阅读全文