编写shell脚本,该脚本接收两个参数,参数1作为要读写的文件,参数2作为标志位,标识是读还是写。功能完成对参数1所示文件的读写,该文件的内容为 “自己学号的后3位 MYFILE”。,其中学号是20009201099
时间: 2024-03-25 09:39:06 浏览: 30
可以使用以下代码来实现:
```bash
#!/bin/bash
# 获取学号后三位
id=$(echo "20009201099" | tail -c 4)
# 获取文件名
filename="${id}MYFILE"
if [ "$#" -ne 2 ]; then
echo "需要传递两个参数:文件名和标志位(r或w)"
exit 1
fi
if [ "$2" == "r" ]; then
# 读文件
cat "$1/$filename"
elif [ "$2" == "w" ]; then
# 写文件
echo "请输入要写入的内容(按Ctrl + D结束):"
cat > "$1/$filename"
else
echo "标志位只能是r或w"
exit 1
fi
```
上述代码首先获取学号的后三位,然后根据要读写的文件名进行拼接,得到最终的文件名。然后判断传递的参数个数是否正确,如果不正确则输出提示信息并退出。接着判断标志位,如果是r则读取文件内容并输出,如果是w则要求用户输入要写入的内容并写入文件。如果标志位不是r也不是w,则输出提示信息并退出。
相关问题
编写shell脚本,该脚本接收两个参数,参数1作为要读写的文件,参数2作为标志位,标识是读还是写。功能完成对参数1所示文件的读写
好的,以下是一个简单的Shell脚本,实现对指定文件的读写操作:
```
#!/bin/bash
filename=$1
mode=$2
if [ "$mode" == "read" ]; then
# 读取文件内容
cat $filename
elif [ "$mode" == "write" ]; then
# 写入文件内容
echo "请输入要写入的内容,按Ctrl + D结束:"
cat > $filename
else
# 显示使用帮助
echo "Usage: $0 filename [read|write]"
fi
```
在执行该脚本时,需要传入两个参数,第一个参数为要读写的文件名,第二个参数为操作标志,取值为"read"或"write"。如果操作标志为"read",则会输出文件内容;如果操作标志为"write",则会等待用户输入要写入的内容,并将其写入到文件中。如果参数不正确,则会输出使用帮助。
例如,如果要读取文件test.txt的内容,可以执行以下命令:
```
./script.sh test.txt read
```
如果要向文件test.txt中写入内容,可以执行以下命令:
```
./script.sh test.txt write
```
希望能够帮到你。
编写shell脚本,该脚本接收两个参数,参数1作为要读写的文件,参数2作为标志 位,标识是读还是写。功能完成对参数1 所示文件的读写
好的,以下是一个简单的示例脚本:
```
#!/bin/bash
# 获取两个参数
file=$1
flag=$2
# 判断标志位
if [ $flag = "r" ]; then
# 读取文件内容
cat $file
elif [ $flag = "w" ]; then
# 写入文件内容
echo "请输入要写入的内容,按Ctrl+D结束输入:"
cat >> $file
else
echo "无效的标志位!"
fi
```
使用方法:
1. 将上述代码保存为一个文件,比如 `file_rw.sh`
2. 打开终端,进入脚本所在的目录
3. 输入命令 `chmod +x file_rw.sh`,赋予脚本执行权限
4. 执行命令 `./file_rw.sh 文件名 标志位`,其中 `文件名` 是要读写的文件名,`标志位` 是 r 或 w,分别表示读或写。比如要读取文件 `test.txt` 的内容,可以执行命令 `./file_rw.sh test.txt r`。要向文件 `test.txt` 写入内容,可以执行命令 `./file_rw.sh test.txt w`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)