我有几个Python脚本都能正常工作,但其中一个脚本(从今天早上开始)在bash中运行时会出现以下错误:
: 没有那个文件或目录
如果我通过python script_name.py
运行此'损坏'的脚本,它是可以正常运行的。在查找了一番后,我大致猜测可能是因为哈希标志的行尾符被更改了(悄悄地),所以我通过VI中的:set list
选项查看了一个工作的脚本和一个损坏的脚本的行尾符,就像在这个问题中所指示的那样 -> 查看文本文件中的行尾符
两个文件的行尾都使用相同的字符(一个$
),所以我不知道该如何继续。具体来说,如果set list
不是正确的方法,我该如何“查看”行尾符。
PS:该脚本是可执行的,并且已经包含了shebang,在周末之前它一直可以正常工作,但今天早上开始就出现了这个错误。
-- 编辑:--
通过dos2unix
运行此脚本确实可以让它正常工作,但我想知道是否有一种方法可以在VI(M)中可视化行尾符或为什么Geany首先将行尾符转换了(因为我从未在dos / windows系统上工作过)。
python scriptname.py
来成功运行它,但不能通过./scriptname.py
来运行,而且它是可执行的。 - Bas Jansen:set fileformat
或简写为:set ff
。它将显示dos
或unix
。您可以使用:w ++ff = unix
或者:set ff=unix
并正常保存文件来进行转换。 - rodrigo