Linux命令 dos2unix 的实际应用场景
2024-09-05 04:06:02
问题描述:书接上文springboot之停止与启动服务的脚本,编写杀死服务脚本的时候,总是不行,Linux会提示你类似下面这样的信息:
killed pid:
: arguments must be process or job IDs
思考:我再次仔细审查我的脚本命令
path=/opt/project/demo/demo-0.0.1-SNAPSHOT.jar
pid=`ps -ef|grep $path|grep -v grep|awk '{print $2}'`
echo "killed pid: "$pid
kill -9 $pid
逐行执行,你会发现一点毛病没有。于是猜测可能和换行符有关,windows 和 linux 下换行符不相同。
linux:\n
windows:\r\n
解决方案:最近看了些 Linux 书籍,发现可以通过 dos2unix 命令进行格式转换。
语法:dos2unix [kn] file [newfile]
执行以下命令
dos2unix -k -n kill.sh stop.sh
转换完成显示类似下面的信息
dos2unix: converting file kill.sh to file stop.sh in Unix format ...
参数解释:
-k :保留该文件原本的 mtime 时间格式(不更新文件上次内容经过修改的时间)
-n:保留原本的旧文件,将转换后的内容输出到新文件,如:dos2unix -n old new
然后我直接执行 sh stop.sh,没有错误信息,直接杀死服务。就是这么神奇!
总结:
- 我们在 windows 下编写的脚本,在 linux 下使用,一定要注意格式必须为 unix
- 在 linux 下编写的脚本,可以直接使用
- dos2unix 可以将 dos 文本文件转换为 unix 文本文件
最新文章
- android Camera 录像时旋转角度
- OpenStack:初识
- 问题-安装XP时,提示不识别SATA硬盘
- springMVC工作原理图
- <;script runat=server>;、<;%%>;和<;%#%>;的区别
- history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
- CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制
- LINUX 软件管理
- JBOD
- windows资源管理器中配置右键bash here
- 小试ImageMagik——开发篇
- VMware 非简易安装centos6(静态ip配置)
- Android Material Design控件使用(四)——下拉刷新 SwipeRefreshLayout
- PHP基础介绍
- 使Python中的turtle模块画图两只小羊
- 文件处理(如果文件存在则追加,不存在则生成多级文件夹以及txt目录)
- Oracle优化之旅:使用leading, use_nl, rownum调优例子
- 《团队-Python 爬取豆瓣电影top250-成员简介及分工》
- ALGO-117_蓝桥杯_算法训练_友好数
- 进入快速通道的委托(深入理解c#)