Bash脚本调用Notepad++打开多文件报错:提示第二个文件不存在
解决Notepad++在Bash脚本中无法识别第二个文件参数的问题
看起来你遇到的问题不是Notepad++不支持多文件参数,而是Bash对路径里的反斜杠处理导致的路径解析错误!
问题根源
在Bash环境(比如Git Bash、WSL)中,双引号内的反斜杠\是转义字符。你的脚本里写的"P:\test2.txt",Bash会把\t解析成制表符,实际传递给Notepad++的路径变成了P: est2.txt——这显然不是你真实存在的文件,所以才会提示不存在。
解决方案
你可以用以下几种方法修正路径:
把反斜杠换成正斜杠(推荐,Bash和Windows程序都能识别):
run "P:\Notepad++\notepad++.exe" "P:/test1.txt" "P:/test2.txt"用双反斜杠转义反斜杠:
run "P:\Notepad++\notepad++.exe" "P:\\test1.txt" "P:\\test2.txt"用单引号包裹路径(单引号内的字符不会被Bash转义):
run "P:\Notepad++\notepad++.exe" 'P:\test1.txt' 'P:\test2.txt'
验证
修改后重新执行./test,Notepad应该能正常打开两个文件了——毕竟Notepad本身完全支持一次性打开多个文件参数,只是你的路径被Bash错误解析了而已。
内容的提问来源于stack exchange,提问作者innerflow
相关产品推荐
相关产品推荐

