Bash脚本中如何使用echo命令读取显示txt文件内容
Bash脚本输出repo.txt内容调整方案
你当前脚本中的echo "Do you really want to delete the repos: $file "仅会输出repo.txt这个文件名字符串,不会读取展示文件内部存储的内容,因为$file变量只保存了文件路径。
具体调整方法
如果要通过echo命令实现文件内容输出,需要借助Bash的命令替换语法先读取文件内容,再传入echo打印,调整后的代码片段如下(原有业务逻辑完全保留):
file="repo.txt" # 打印分隔线和提示 echo "===== 待删除仓库列表 =====" # 读取repo.txt内容并通过echo输出,$(< 文件名)是Bash内置读取语法,无额外进程开销 echo "$(< $file)" echo "==========================" echo "Do you really want to delete the repos: $file " read options echo "Option Selected Is $options" if [ $options == "yes" ] then
注意事项
- 若脚本需要在非Bash的POSIX标准shell下运行,可以将输出文件内容的语句替换为
echo "$(cat $file)" - 包裹文件读取结果的双引号不能省略,否则文件内的换行、连续空格会被shell自动解析折叠,导致输出格式混乱
- 如果没有强制必须使用
echo的要求,直接调用cat "$file"输出文件内容的写法更简洁通用,不需要额外做命令替换
内容的提问来源于stack exchange,提问作者mohammed zafar
相关产品推荐
相关产品推荐

