为什么我的Bash脚本会出现"no such file or directory"报错?
报错原因分析
这个报错是脚本读取输入文件的环节出了问题,具体有两种常见触发场景:
- 运行脚本时没有传入要读取的目标文件参数:
脚本末尾done < "$1"里的$1是位置参数,对应运行脚本时跟在脚本名后的第一个参数。如果直接执行./test.sh没有跟文件名,$1会是空值,相当于执行done < ""读取空路径,自然会报找不到文件的错误。正确运行方式是./test.sh 你的目标文件名。 - 已经传入了文件名,但路径写错、文件不存在、当前用户没有该文件的读取权限,也会触发同类报错。
额外提醒:你当前的脚本里用到了
$res和$code两个变量,但给出的代码片段里没有对这两个变量赋值的逻辑,最终生成的格式化结果里这两个字段的值会是空的,需要补全对应赋值逻辑才能正常使用。
内容的提问来源于stack exchange,提问作者zexapod
相关产品推荐
相关产品推荐

