shell批处理中利用vi设置文件的fileformat

dos格式文件传输到unix系统时,会在每行的结尾多一个^M,即dos文件中的换行符“\r\n”会被转换为unix文件中的换行符“\n”,而此文件若是一个可执行文件的话,会导致此文件不能被执行,转换的方式有下面一个:

 

 

vi exec.sh
:set ff=unix(或者:set fileformat=unix)
:wq

 

如果以上步骤要求在一个shell批处理文件中完成,那么该怎么办?

 

可以这样:

 

vi +':w ++ff=unix' +':q' ${file}

 这样一条命令就可以搞定了,但是要严格注意上面空格的位置,不能多不能少。

 

参见:

http://stackoverflow.com/questions/82726/how-do-i-convert-dos-files-to-linux-files-in-vim

802.11be 的“上帝视角”:深入解析 CSI 技术原理与实现 IEEE 802.11be标准下的CSI技术解析 摘要:本文深入解析了802.11be标准中的信道状态信息(CSI)技术。CSI作为无线通信的"高精度地图",通过显式反馈机制获取信道矩阵H,经SVD分解得到预编码矩阵V。802.11be在CSI反馈机制上实现重大改进:支持320MHz带宽、16空间流;引入灵活的子载波分组(Ng=4/16)、更高量化精度(最高9/7比特)、部分带宽反馈和触发式反馈。这些创新显著提升了MU-MIMO和波束成形性能,为Wi-Fi 7带来极速通信、精准感知和Me 阅读详情

相关推荐

【实战案例】IBM V3500存储控制器故障诊断与更换全流程解析

本文详细解析了IBM Storwize V3500存储控制器发生故障后的完整处理流程。通过还原真实故障现场,介绍了如何利用服务助手精准定位缓存模块损坏的根源,并逐步指导完成控制器备件准备、核心部件移植更换、系统上线同步及全面功能验证的全过程,为存储运维人员提供了一份实用的实战指南。

weixin_29269441的博客 547

vim中的文本文件格式---fileformat

  http://hi.baidu.com/houhou1999/blog/item/4983d41b680825c5ac6e75cd.html   今天逛vimwiki,发现一篇好文章,讲vim的fileformat。如果程序员的开发环境是unix和dos并存,那么你绝对会碰到这个问题。比如,让你心烦的行尾的^M,而且这些^M会导致一些脚本不能正常执行。 文章很长,我来个摘要。原...

dennis 2160

封神台靶场,为了小芳,冲之——cookie注入

第二个靶场 打开网站 找一下注入点 一般在新闻这种里面点开看看 先判断是否存在注入 有waf 尝试了很多方法绕过都没成功,/and/,aandnd,AnD等一系列都没绕过去,乌鸡鲅鱼 删掉id=169 发现 然后判断cookie注入 在搜索框输入 Javascript:alert(document.cookie=”id=”+escape(‘169’)); 然后弹窗了(其中 “id=” 取决URL中的id= escape中的数值也是URL中id=的值)返回刚刚的页面,把ID删除后一样能正常显示。说明服务器能

Wubuqing的博客 651

VI文件格式转换

Linux下VI编辑器如何转换文件格式? 由于 Unix、Window 和 MacOS 的换行符的内部表示不一样,因此有时候需要转换文件格式。 vi filename.c,输入如下命令保存即可 将文件格式转换为 Unix 格式: :set fileformat=unix 简化:set ff=unix 将文件格式转换为 Windows 格式: :set fileformat=dos简化:set ff=dos 注: 两个命令 set ccv=unicode set ff=dos 每个命令还有别的参数可选,.

yihui8的专栏 2183

银河麒麟V10离线安装VLC播放器:依赖处理与3.0.9.2版本实操指南

在国产化操作系统日益普及的背景下,软件安装方式成为政企内网用户关注的重点。离线安装作为一种不依赖公网源的部署手段,常用于解决内网环境下的软件获取问题。其核心在于理解Linux包管理机制,如dpkg与apt对依赖关系的处理逻辑。掌握这一原理,不仅能应对多媒体软件的部署,也能提升系统维护效率。VLC作为跨平台多媒体播放器,凭借强大的解码能力与协议支持,广泛应用于本地视频播放、RTSP拉流及监控大屏等场景。本文从离线安装的通用概念出发,结合银河麒麟V10桌面版的实际环境,详细梳理了VLC 3.0.9.2离线包的获

weixin_32247165的博客 368

LiblibAI新手教程:从零开始训练你的第一个LoRA模型(保姆级指南)

本文提供LiblibAI平台上从零开始训练LoRA模型的保姆级教程,涵盖数据准备、参数优化到效果调优全流程。详细解析LoRA技术优势,包括云端计算资源、自动化预处理工具等,帮助新手快速掌握自定义模型训练技巧,实现高效AI绘画创作。

dell8的博客 619

6、Linux:一起玩转vi/vim编辑命令

vi 是一个功能强大的文本编辑器,而 vim 则是 vi 的高级版本,vi 可以用不同的颜色显示文本内容,可以对配置文件、shell 脚本、程序代码等进行编辑操作,所有的 Linux 发行版系统上都会默认内置 vi 编辑器。从三种工作模式,常见操作 ,问题记录等方面梳理下。...

小确幸的博客 2551

2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--下篇

我们可以看到,目前配置基本完成了,现在有两个错,一个是Chrome没安装,这个自己安装就可以了,如果不需要WEB测试也不影响开发,另一个是Simulator还没安装,这个主要是安装的时间太长了,也就是上面的这一步。这里要注意,这个下载安装会比较慢,有的载会特别卡造成安装失败,最好的办法是挂一个VPN,保证安装完成,不过这个可以在以后单独进行安装。至此,基本的安装完毕,好多人会以为Xcode就OK了,其实还没有,我们还缺少命令行工具包,这个在安装完Flutter以后进行设置。

weixin_48803304的博客 1411

vi 遇到乱码问题——解决记录

vi打开文件乱码问题解决 命令行执行异常 $'\r': command not found 解决

xiaobin953326的专栏 1万+

ESP32开发环境避坑指南:用Thonny烧录MicroPython固件时常见的5个错误及解决方法

本文针对ESP32开发新手,详细解析了使用Thonny IDE烧录MicroPython固件时最常见的5个错误及其解决方案。内容涵盖驱动安装、端口识别、固件烧录失败、版本兼容性、连接不稳定以及文件系统操作异常等核心痛点,并提供硬件层面的深度排查指南,帮助开发者高效搭建稳定的ESP32开发环境。

weixin_29189003的博客 407

微信公众平台 - 微信内置浏览器 WeixinJSBridge.invoke(‘xxx‘) API 报错:system:access_denied(常见于微信支付、分享朋友圈/转发好友等功能)解决方案

微信支付提示System:access_denied,调用微信支付返回:system:access_denied为什么,安卓版微信支付偶尔出现system:access_denied,微信公众号开发分享出现system:access_denied,system:access_denied如何解决?微信WeixinJSBridge.invoke(‘xxx‘)API调用后出现报错,微信内部H5WeixinJSBridge.invokesystem:access_denied,使用微信jssdk时报ac

🏆 前端领域优质创作者 5145

shell脚本在Linux、centos或乌班图中更改和查询编码格式

shell脚本在Linux、centos或乌班图中更改和查询编码格式

weixin_38090079的博客 1514

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷1及答案解析)

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷1及答案解析)

王老师青少年编程 2023

unexpected end of file,设置fileformat即可

Linus Shell syntax error: unexpected end of file 这种错误都是没有结束标记造得的 如if之后没有fi for 循环 do之后没有done while 循环 do这后没有done 在windows上用虚拟机装好redhat linux,完成网络配置,能与我的windows交互了。其它也不需要配。 开始学习bash,每

legend_x的专栏 2773

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

vi下编辑时遇到\n\r的问题

在linux下,换行符是\n 而在windows下,换行符是\n\r 因此,在vi下编辑的内容,在windows下打开时,会自动将换行符转换成\n\r,再回到vi时会出错,比如在编写shell脚本的时候 解决方法:设置vi下的fileformat set fileformat=unix 原文地址:http://blog.163.com/jw_chen_cs/blog/static/202

if-else 1982

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

执行shell时出现No such file or directory问题

一、对于在服务器上新上传的start.sh脚本,启动时容易出现,-bash:./start.sh:/bin/sh^M: bad interpreter:No such file or directory 一般情况是因为该sh脚本的格式不正确,如果这个脚本在你本地修改过(使用txt、notepad++打开修改),可能在保存的时候会默认把文件的格式保存为: doc格式(windows系统)、mac(苹果系统),那么在上传到系统后,unix系统是不支持doc(mac)格式的,那么就需要把doc(mac)格式的文件

fengjian的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

记录shell脚本“syntax error near unexpected token `fi‘”的问题

在Mac执行我写的shell 脚本,一直提示如下的错误 各种查找找语法结构,发现都没有错误, 通过 vi -b jisu_multichannel.sh 或者cat -v jisu_multichannel.sh 发现在Mac里面查看后自动在换行符后面带上了**^M**的标识,经过查阅资料知道 了在windows和Mac里面的换行符是不一样的导致的 所以我们需要通过改变shell 文本的代码模式 首先进入vi 模式,输入如下 这个实现发现会是dos 模式,所以出问题了 下面我们通过设置set ff

毛驴蜀黍的博客 1075

shell脚本格式转换

初学shell编程的研发人员通常都会遇到这样的问题,在windows下编辑的shell脚本放到linux环境下比如手机中运行时就会出一些莫名其妙的错误,及时是一些非常简单的shell命令也会报错。其实错误的原因只有一个就是格式问题,在windows下编辑出的shell脚本格式为dos格式,而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(C

顽石的博客 1万+

linux脚本无法执行命令,shell脚本在Windows下能执行,而Linux不能执行的原因及解决...

有一个shell脚本可以在Windows和Linux系统中执行,但是要用到这个脚本.sh文件时,Windows下测试可以运行,复制到Linux环境就运行不了,因为多了^M字符。下面解说产生问题的具体原因及解决方法。shell脚本的内容#!/bin/bash -exset -exWORK_DIR=${WORKSPACE-"$(cd `dirname $0`;pwd)/.."}PROG_NAME=$0...

weixin_34013170的博客 1101

去掉linux 系统vi中出现^M字符的方法(转)

  ^M符号是windows系统下的換行符,在windows下的文本通过bin模式ftp上传到了unxi空间出现的。 在test.txt文件中有如下内容:   eeesdgtdfg dfgdfgfdgfd ^M   ineesert into pusfdgdfgfd)ff;^M   adwwfdfed adfdsdfsfdsf.^M 在命令模式下运行命令 :%s/^M//g 回车 注...

wjbltxx的专栏 307

linux中shell脚本因为在windows中编辑,格式不对无法执行

通过上面我们可以看到有个^M个标志,这个标志是:Windows环境下dos格式文件传输到unix系统时,会在每行的结尾多一个^M,所以在执行的时候出现了这种现象。你在unix或者Linux环境下使用vi编辑的时候,会在下面显示此文件的格式,比如”runscript.sh” [dos] 2L,20C字样,表示这是一个【dos】的格式文件,如果是MAC的系统则会出现【MAC】的字样,因为文件格式的原因,有时候我们是unix程序或shell程序,则就要把dos文件转化为unix的文件格式。

weixin_42988612的博客 772

window上可以执行的shell脚本,复制到linux上执行报错了

原因:.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。解决方法:修改.sh文件格式(1)使用vi工具vi build_android.sh(2)利用如下命令查看文件格式:set ff 或 :set fileformat可以看到如下信息fileformat=dos 或 fileformat=unix(3) 利用如下命令修改文件格式:set ff=unix 或 ...

生活需要你不断学习,不断奋斗,永不停止 164

Linux Shell syntax error: unexpected end of file

Shell 脚本执行时报错syntax error: unexpected end of file 从另一台服务器上拷贝一个脚本 执行报错syntax error: unexpected end of file,但脚本在另一台服务器上执行正常。 首先检查脚本的格式:vi 2019.sh 、:set ff 得出fileformat=unix 如果格式为dos,要把格式改为unix::set ff=u...

hyfstyle的博客 1392

/bin/bash^M: 坏的解释器: 没有那个文件或目录

【原文:】 编写shell脚本时,我们经常习惯在windows下写好,然后通过共享目录拷到linux下,方便快捷。 杯具的事也来了,当我们在windows写一个shell程序拷到linux中,修改好权限,正准备试下效果时, /bin/bash^M: 坏的解释器: 没有那个文件或目录 坏的解释器: 没有那个文件或目录" height="235" alt="/bin/bash^M: 坏的解释器

zhazhiqiang2010的专栏 890

sh脚本文件在linux系统上无法运行问题bad interpreter: No such file or directory

在Linux服务器上执行shell脚本,如startup.sh,报以下错误。 -bash: ./startup.sh: /bin/bash^M: bad interpreter: No such file or directory 解决步骤: vim或vi编辑脚本,输入:set ff 回车,显示fileformat=dos; 输入:set ff =unix 回车修改脚本格式,然后:wq保...

Jczry的博客 872

linux-shell syntax error: unexpected end of file

写shell脚本,如果在windows上面写,通过ftp上传到linux上面 运行时,报: syntax error: unexpected end of file 是因为脚本文件在windows编写,windows会在每行自动加上一个结束符 需要用vi打开,然后输入:,再输入set fileformat=unix  保存即可

小彩电专栏 875
上一篇: Runtime exec()调用shell脚本注意事项
下一篇: shell中登录mysql并执行操作
fanday
博客等级 码龄20年 8粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值