shell脚本在linux无法运行

shell脚本在linux无法运行

在windows写的.sh脚本,直接把文件传到Linux之后运行,报错:

$ bash ./v_1.sh
: command not found
'/v_1.sh: line 4: syntax error near unexpected token `do
'/v_1.sh: line 4: `do

脚本内容是:

#shellvirus I#

for file in ./infect/*
do
    cp $0 $file
done

语法上并没有错误,报错是因为在Windows下编写的脚本通常会使用\r\n(回车+换行)作为换行符,而Linux则使用\n(换行)
在linux中使用命令:

sed -i 's/\r$//' your_script.sh

替换掉换行符就能正常运行。
批量替换就把脚本名字your_script.sh改成通配符*.sh,这样会处理当前目录下的所有.sh文件。

posted @   米小白  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示