编写脚本遇到“./2.sh: line 1: $'\r': command not found”与“-bash: ./3.sh: /bin/bash^M: bad interpreter: No s”

问题-:
[root@host ~]# ./2.sh./2.sh: line 1: '\r'''/2.sh: line 3: `for((i = 0; i <= 99; i++))
解决办法:脚本开头添加#!/bin/bash
echo "Create docker container build … "
for((i = 0; i <= 99; i++))
do
let k=100+i
let j=i+10000+100
echo -e “docker create performancetestKaTeX parse error: Expected 'EOF', got '\n' at position 3: k \̲n̲" docker run…k” -e “CPE_IP=110.100.0.167” -e "CPE_MAC=00.00.5e.01.01. i " − e " S D N C I P = 110.100.0.164 " − − n a m e 224 i" -e "SDNC_IP=110.100.0.164" --name 224 i"e"SDNCIP=110.100.0.164"name224k -p $j:830 +镜像名称
sleep 10s
done
问题二:在这里插入图片描述
解决办法:如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A。如果你将这个脚本文件直接放到Linux上执行就会报/bin/bash^M: bad interpreter错误提示。
解决方法很简单,首先你先要检查一下看看你的脚本文件是不是这个问题导致的,用vi命令打开要检查的脚本文件,然后用
:set ff?
命令检查一下,看看是不是dos字样,如果是dos格式的,继续执行
:set ff=unix
然后执行
:qw
保存退出即可。

转载自:https://my.oschina.net/chunto/blog/227003

你可能感兴趣的:(linux)