将Java文件存入BASH变量时遇斜杠开头行异常问题求助
问题原因与解决方法
- 核心问题出在Bash的路径名扩展机制:当你直接输出或使用未加双引号的变量时,Bash会把以
/开头的字符串(比如/**、/*****************)当成通配符路径去匹配系统文件,最终替换成根目录下的文件列表,导致原内容丢失。 - 读取文件的命令本身没毛病,问题出在变量的使用方式,必须用双引号包裹变量,让Bash把内容当成纯字符串处理:
# 读取文件(建议加上双引号保持格式统一) MY_VARIABLE="$(cat myJavaFile.java)" # 使用变量时必须加双引号 echo "$MY_VARIABLE" - 额外提醒:如果Java文件里有
*、?、[]这类通配符字符,不加双引号同样会触发扩展,所以所有涉及变量输出、传递的场景,都要养成用双引号包裹的习惯。
内容的提问来源于stack exchange,提问作者Rick
相关产品推荐
相关产品推荐

