Python 更改sh脚本,上传到Linux后不能正常运行

    localpath = filedialog.askopenfilename()
    with open(localpath, 'r+', encoding='utf-8') as wenjian:
        hang = wenjian.readlines()
        hang[7] = ''
        hang[8] = ''
        hang[9] = 'case 1 in' + '\n'
        wenjian.seek(0)
        wenjian.writelines(hang)

我将.sh脚本第8行改写为case 1 in 然后加换行符,脚本上传至Linux服务器后,一运行就提示此处有错误,但是这个\r看不到,请问我要如何修改代码,才能让脚本上传到Linux服务器后正常运行

可以在上传之后用dos2unix转一下格式
或者别用writelines,自己用\n拼接好字符串直接写入文件,不要让它自动添加\r

不要用wenjian.writelines(hang)写入,直接for循环write,记得在后面拼接换行

img

img