shell脚本运行报错$'\r': command not found

执行个别shell测试脚本运行报错$‘\r‘: command not found

考虑到可能是windows与Linux的换行符不同的原因(windows是\r\n,Linux是\n)造成的,但是又不想一个个替换。

可以使用如下命令来解决:

# vi 脚本名

命令行模式下输入:

:set ff=unix

:wq 退出即可

shell脚本运行报错$'\r': command not found

原文地址:https://www.cnblogs.com/abclife/p/12604441.html

时间: 2024-10-07 08:40:41

shell脚本运行报错$'\r': command not found的相关文章

shell脚本在cygwin下运行报错: $'\r': command not found

在cygwin 下运行shell脚本,出现"$'\r': command not found",这是win dos与Unix文本编辑方式不同造成的.可以使用cygwin工具dos2unix将script改为unix格式. $ dos2unix test.sh dos2unix: converting file test.sh to UNIX format ... $ sh test.sh 如此便可解决. 参见:http://lxs647.iteye.com/blog/2084375 s

Linux-006-执行Shell脚本报错 $'\r':command not found

在 windows 下编写 Shell 脚本,在 Linux 上执行时,报错提示: $'\r':command not found. 因为 windows 下的换行符是 \r\n ,而 Linux 的换行符是 \n.因而在 Linux 下运行 windows 编写的 Shell 脚本,会报如上所示的错误. 解决方法:将换行符替换成 Linux 平台的换行符即可.命令如下所示: sed -i 's/\r//' 脚本名 Linux-006-执行Shell脚本报错 $'\r':command not

基于sparksql调用shell脚本运行SQL

[Author]: kwu 基于sparksql调用shell脚本运行SQL,sparksql提供了类似hive中的 -e  , -f ,-i的选项 1.定时调用脚本 #!/bin/sh # upload logs to hdfs yesterday=`date --date='1 days ago' +%Y%m%d` /opt/modules/spark/bin/spark-sql -i /opt/bin/spark_opt/init.sql --master spark://10.130.2

windows下建立文件的换行符^M导致linux下的shell脚本运行错误的解决方案

经常在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 f

LifeType 1.2.12 运行报错

Fatal error: Call to undefined function bb2_table_structure() in H:\wamp2\www\lifetype-1.2.121\plugins\badbehavior\index.inc.php on line 174 H:\wamp2\www\lifetype-1.2.12\plugins\badbehavior\index.inc.php中 function bb2_install() { $settings = bb2_read

mysql5.5 免编译安装及脚本启动报错深入

Mysql安装环境简介: 最近在做MHA.已经安装完毕heartbeat和drbd,现在准备安装Mysql. Mysql安装目录:/opt/mysql Mysql数据目录:/data/mysql 备注:/data目录实际是drbd需要同步到备节点的磁盘分区 [[email protected] src]# df -h Filesystem     Size  Used Avail Use% Mounted on /dev/sda2      9.5G  2.0G  7.1G 22% / tmpf

Ubuntu下shell脚本运行异常:bash和dash的区别

Ubuntu下我用bash到语法写了一个shell脚本(准确的说是把书上的脚本敲进电脑),在ubuntu下,用sh test.sh来运行,但是出现了意料之外到结果,比如echo -e "\nTest\n"到执行就不同,直接用sh test.sh运行,会打印出-e(作为字符串);而直接在终端中输入echo -e "\nTest\n"是不会输出"-e"的. 我就在想是什么原因,后来终于发现是Ubuntu下sh默认指向dash. echo $SHELL

shell脚本执行报错[: 0: unary operator expected

在执行shell脚本,if判断语句报错 #!/bin/bash if [ 0 == $testNum ] then echo "Check Result:0" fi testNum使用时没有定义,无赋值是空(原本是有定义的,只是笔误写错类似tsetNum了),执行转换后实际为 if [ 0 == ] 不相等,且少[符号错误:规避如下 #!/bin/bash if [[ 0 == $testNum ]] then echo "Check Result:0" fi 使用

解决新建Support7Demos的sample时出现编译错误和运行报错出现的问题

右键New->Other->Android Sample Project->选择Android 4.4.2->选择Support7Demos ,finish. 会出现编译错误 解决如下: 1.把这三个文件导入到Eclipse里, 这三个是库文件,并且勾选COPY到工作空间里选项 如果没有这三个文件,就从这里下载 2.导入三个library工程后,mediarouter会无法编译,打开工程属性在anroid里将api-level改成17,添加依赖工程appcompat 3.就是将刚才