👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术
【shell】shell文件读写操作
1. 文件读取
假设一个文件名为text.txt
myyyyy
nameeee
issssss
6666666
读取text.txt文件中的内容:
#!/bin/bash while read line; do echo "Line: $line" done < text.txt
输出结果:
Line: myyyyy Line: nameeee Line: issssss Line: 6666666
2. 文件写入
2.1 追加写入
将字符串追加写入到 output.txt
文件中。
#!/bin/bash echo "Hello, World!" >> output.txt echo "This is a test." >> output.txt
output.txt
文件内容:
Hello, World!
This is a test.
2.2覆盖写入
将字符串覆盖写入到 output.txt
文件中。
#!/bin/bash echo "This will overwrite the file1." > output.txt echo "This will overwrite the file2." > output.txt
output.txt
文件内容:
This will overwrite the file2.
3. read控制台输入
3.1 基本用法
read [选项] [参数]
3.2 选项种类
选项 | 说明 |
-p | 指定读取值时的提示符 |
-t | 指定读取值时等待的时间(秒) |
-s | 无回显模式,隐藏用户输入的内容 |
-n | 指定要读取的字符数(检测到输入满n个字符后,自动停止) |
-r | 禁用反斜杠转义,保留输入数据中的特殊字符原样输出 |
-a | 将输入数据分配到一个数组中 |
3.3 read举例示范
代码示例:
#!/bin/bash # -t -p 指定读取值时的提示符 read -t 7 -p "please input your name :" NAME # please input your name :lcl echo $NAME # lcl # -s 隐藏用户输入 read -s password echo $password # lcl # -n 指定读取的字符数 read -n 4 char # -a 将数据分配到数组中 read -p "Enter names separated by spaces: " -a names echo "The names you entered are: " for name in "${names[@]}"; do echo