Bash Script:替换参数中的反斜杠字符



我有一个名为test的脚本,我正试图接受一个参数,并用正斜杠替换反斜杠。如果我做以下操作:

#!/bin/bash
FIRST_ARGUMENT=$1
echo $FIRST_ARGUMENT | sed 's/\///g'

我这样使用它:

$ ./test  aaaaa    
aaaaa

我的反斜杠消失了。有没有办法保存它们,让它们被sed取代?当我在echo调用中将路径硬编码为字符串时,如:

echo 'aaaaa'| sed 's/\///g'

我得到正确的结果:

aaa/aa

传递给./test时,使用引号'"作为:

./test 'aaaaa'

下面的例子显示了带引号和不带引号的内容之间的区别:

moin@moin-pc:~$ echo aaaa
aaaa  # without ''
moin@moin-pc:~$ echo "aaaa"
aaaa  # with ''

相关内容

最新更新