Linux命令 dos2unix 的实际应用场景
问题描述:书接上文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 文本文件
Linux命令 dos2unix 的实际应用场景的更多相关文章
- Linux命令dos2unix 从windows转换到linux --- nuix2dos从linux转换到windows
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文件是以\r\n作为断行标志的 ...
- Linux命令(持续更新)
1. tail 命令 tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail -f filename 会把 filename 文件里的最尾部的内 ...
- Linux命令学习总结:dos2unix - unix2dos
命令简介: dos2unix是将Windows格式文件转换为Unix.Linux格式的实用命令.Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2 ...
- Linux命令之dos2unix
Linux命令之dos2unix (2011-09-22 11:24:06) 转载▼ 标签: 杂谈 Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式 用途说明 dos2 ...
- 每天一个linux命令(6):dos2unix unix2dos
dos2unix是将Windows格式文件转换为Unix.Linux格式的实用命令.Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令 ...
- (转)Linux命令学习总结:dos2unix - unix2dos
Linux命令学习总结:dos2unix - unix2dos 命令简介: 原文:http://www.cnblogs.com/kerrycode/p/5077969.html dos2unix是将W ...
- Linux centos系统安装后的基本配置,Linux命令
一.centos系统安装后的基本配置 .常用软件安装 yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tr ...
- Linux命令随笔
Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...
- 工作中常用的Linux命令:find命令
本文链接:http://www.cnblogs.com/MartinChentf/p/6056571.html (转载请注明出处) 1.命令格式 find [-H] [-L] [-P] [-D deb ...
随机推荐
- ADO.NET连接数据库DBHelper工具类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Python学习字典.基础三
元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组中要定义的元组中只有一个元素需要再元素后面加逗号,用来消除数学歧义.例 t=(1,) ...
- Ubuntu部署Asp.net core网站无法访问
前几天应工作需要,在阿里云上部署一个测试站点.本以为分分钟的事情,没想到打脸了. 当时直接新建一个webapi项目,publish后直接上传到阿里云,随后设置nginx转发网站端口5000. 接着打开 ...
- django 从零开始 5 数据库模型创建
进入应用项目下的models.py文件 自带一个导入的包 from django.db import models 使用这个包创建models模型 我这是要创建一个图站 ,所以模型设置并不复杂(路径配 ...
- URL及short URL短网址
URL,uniform resource locator,经常被称为网址,尤其是在使用HTTP的时候.通常是一个指向某个资源的字符串. URLs经常被用于网页(http),但也可以用于文件传输(f ...
- Markdown试用
目录 今天又是充满希望的一天 一.是什么 二.为什么 三.怎么做 代码 这世界上好人坏人都很多,我不是一个坏人. 我不是个英雄,我只是个拿
- Linux进程间通信-eventfd
Linux进程间通信-eventfd eventfd是linux 2.6.22后系统提供的一个轻量级的进程间通信的系统调用,eventfd通过一个进程间共享的64位计数器完成进程间通信,这个计数器由在 ...
- 读书笔记——商广明《Nmap渗透测试指南》
一 Nmap基础学习 1.简介及安装 Nmap是一款由C语言编写的.开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Ne ...
- jdbc连接数据库三种方式
---恢复内容开始--- 第一种: public class Demo1 { //连接数据库的URL private String url = "jdbc:mysql://localhost ...
- JVM年轻代,老年代,永久代详解
前言 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.本篇文章主要讲解内存区域的年轻代,老年代和永久代,略微提及一些垃圾回收算法,下面是正文. 堆整体 堆主 ...