Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
如题,python脚本在windows编辑后,在linux下执行提示 /usr/bin/python^M: bad interpreter: No such file or directory
看到^M应该是隐藏字符,原因就是windows行尾和liunx行尾标识符不一致,不同系统间行尾表示如下:
不同系统间的行尾表示
UNIX格式,每行的行尾都是用一个0x0a字符(换行字符LF)表示的,
而在WINDOWS/DOS下每行的行尾都是用0x0d 0x0a两个字符(回车字符CR,换行字符LF)表示的,
MAC机,每行的行尾都是0x0d字符表示,即回车字符CR。
(经我用winhex查看,确实如此——yockie注)
在很多计算机语言中,表示为字符或字符串是\r, 而表示为字符或字符中是\n.
而在printf这样的函数中, 如果你出现一个\n, 它却代表了一个逻辑上的意义, 即它代表在本地系统上的那种回车换行, 所以它在UNIX上只是, 但如果你在DOS上用诸如Truboc编程的话它输出的是
所以不同系统之间传输交换文件的时候,会出现问题;
1)Unix或linux上有个小工具, 专门在两种文件格式之间进行转换, 叫unix2dos, dos2unix.或在
vim中, 如果你想把一个文件存为另一种文件格式, 只需:set fileformat=unix或等号后面是dos, mac即可, 接下来的存盘动作就会自动把你的文件存为指定平台的格式.
2)在UltraEdit的 File->Conversions(有些版本是在Format -> Convert to..)菜单中, 有三个子菜单项就是专供你在各种文本格式之间转换的.
必须先将UNIX文本格式转换为DOS格式的。UltraEdit的FILE菜单中提供了对单个文件进行这种转换的能力,也可以实现批量转换。在UE中选择Search
关键词:处理python脚本在windows编辑后linux不能执行的问题