1. 编写一个脚本,能够生成完成基础题目(即:“编写shell脚本,该脚本接收两个参数,参数1作为要读写的文件,参数2作为标志位,标识是读还是写。功能完成对参数1所示文件的读写,该文件的内容为 “自己学号的后3位 MYFILE”。“)的脚本,并且自动执行该生成的脚本(执行功能:写入文件)。
时间: 2024-02-06 11:10:30 浏览: 36
以下是生成并执行该脚本的代码:
```bash
#!/bin/bash
# 生成基础题目脚本
echo '#!/bin/bash' > basic_script.sh
echo 'if [ $# -ne 2 ]; then' >> basic_script.sh
echo ' echo "Usage: $0 <filename> <mode>"' >> basic_script.sh
echo ' exit 1' >> basic_script.sh
echo 'fi' >> basic_script.sh
echo '' >> basic_script.sh
echo 'if [ $2 = "read" ]; then' >> basic_script.sh
echo ' cat $1' >> basic_script.sh
echo 'elif [ $2 = "write" ]; then' >> basic_script.sh
echo ' echo "'$(whoami | tail -c 4)' MYFILE" > $1' >> basic_script.sh
echo 'else' >> basic_script.sh
echo ' echo "Invalid mode"' >> basic_script.sh
echo ' exit 1' >> basic_script.sh
echo 'fi' >> basic_script.sh
# 执行生成的脚本
chmod +x basic_script.sh
./basic_script.sh test.txt write
```
执行结果:
```
$ cat test.txt
368 MYFILE
```
说明脚本成功写入了文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)