在windows下编辑shell脚本注意点】的更多相关文章

编辑脚本是直接在windows下写的,并没有使用特定的编辑器或者其他工具,所以很有可能出现一些莫名其妙的异常,这些错误是我们眼睛看不到的,遇到这个情况,例如如下异常或者提示语法错误  Java代码  unexpected end of file  我们可以在linux上使用cat命令,进行清洗数据,  使用工具 cat 和 tr, 方法如下:  bash$ cat -v startqftest.sh |tr -d "^M" > qf.sh  其中 startqftest.sh 是…
注意两点: 1.第一行:#!/bin/bash 2.将文档格式转换为unix,因为在windows下编写shell脚本回车符是\n\r,而linux下的回车符是\n,所以在linux下运行脚本的时候,需要修改下脚本的的编码格式. 以VScode为例,改变编码方式: 将CRLF变为LF,这里的CR表示回车,LF表示换行…
在 windows 下,换行符是 \r\n,在linux下,换行符是 \n.如果你在IDEA里写sh脚本,可以手动设置脚本的换行符为 \n,如果你用notepad++写脚本,可以显示所有字符,以便明确知道换行答到底是什么.不过还是建议在Linux环境下写脚本并验证,注意在windows环境下,换行符问题很容易被覆盖为 \r\n 也可以在vi或者vim 下执行:set ff=unix改变文件属性…
sed -i 's/\r$//' shell.sh 然后linux 下就不会报语法错误了.…
常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主要解决例如以下: (1)在VI编辑器中将^M删除: 将VI编辑器切换到命令模式下,输入 :%s/^M//g (注意^M 不是shift ^ +M 而是ctrl+v 加上ctrl+m)  s///g是shell的替换命令 此命令必须是手动打上,不可复制. (2)dos2unix 命令 dos2unix…
Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件->转换->DOS转换UNIX 转换完成后下面状态栏中会显示DOS已经变成了UNIX,再上传到Linux上面就不会有^M问题了.…
在Windows操作系统下运行Shell脚本,缺少的只是一个Git软件.其下载路径为Git - Downloading Package. 安装之后,将安装路径下的bin文件夹的路径作为环境变量.于是我们就能够在CMD中通过 sh xxx.sh 来运行Shell脚本. 参考:https://zhuanlan.zhihu.com/p/59451678 PS:windows,Git安装路径下的bin文件夹: PS:3楼评论的小伙伴(谢谢^_^),给出了全路径下调用sh.exe 去运行sh脚本的方案,即…
最近公司要弄关于IOS下自动化打包的东西,研究了用命令行的形式来代替手工的方式来处理.即: 用xcodebuild 和xcrun  语法来进行脚本实现.    但由于语法的结构够了,另一个问题产生了,这个语句放在哪里呢? 能否类似于windows 下的bat 东西一样可以双击一下就可以运行命令行呢?      当然另一方面是由于自己对mac 系统下的一些命令不熟练的原因,所以也查找了相关的解决方案,如下:   mac终端下运行shell脚本   1.写好自己的 脚本,比如aa.sh   (如果你…
背景 顺利拿到心目中的理想offer之后,心里的负担一下减轻了很多,希望利用还没毕业之前这段难得的悠闲时间做一点有意义的事情.于是希望能做一个长久以来都想做的开源项目,就是题中提到的Windows下的shell解释器,之所以选择这个是因为之前在数据中心实习,shell脚本用的得心应手,但是因为平时开发脱离不开windows,经常要写一些bat脚本自动化小工具,觉得batch的语法和参数都很奇葩.因此萌生了写一个shell解释器的想法,当然后来因为工作量的缘故,去掉了一些shell的特性,保留了一…