从shell脚本命令中删除换行符

时间:2011-10-01 20:14:15

标签: shell

我有以下shell脚本'geturl.sh':

wget -O /dev/null http://google.com/$1
wget -O /dev/null http://google.com/$1

当我使用'./geturl.sh news'运行时,它会尝试在第一行wget http://google.com/news%0D,在第二行尝试http://google.com/news

为什么它会计算换行符,我该如何解决?

由于

1 个答案:

答案 0 :(得分:0)

如果使用Unix编辑器创建文件,则不会/不应该有回车符[chr(13),0x0D或^ M)]字符。 Unix换行符只是换行符[chr(10),0x0A或^ J)]。回车对shell没有任何特殊含义,通常会导致不必要的行为。

你可以使用sed修复它:

sed -i 's/\r//' geturl.sh