当前位置: 技术问答>linux和unix
shell脚本中字符串连接的一个问题
来源: 互联网 发布时间:2016-11-01
本文导语: #!/bin/bash file_type[0]=".*..c" file_type[1]=".*..sh" s="" for x in ${file_type[*]}; do s="$s -e /$x/p" done 运行的结果是: /.*..c/p -e /.*..sh/p 我想得到的结果是: -e /.*..c/p -e /.*..sh/p 前面少了一个-e,不知道是什么原因。 ...
#!/bin/bash
file_type[0]=".*..c"
file_type[1]=".*..sh"
s=""
for x in ${file_type[*]}; do
s="$s -e /$x/p"
done
运行的结果是:
/.*..c/p -e /.*..sh/p
我想得到的结果是:
-e /.*..c/p -e /.*..sh/p
前面少了一个-e,不知道是什么原因。
file_type[0]=".*..c"
file_type[1]=".*..sh"
s=""
for x in ${file_type[*]}; do
s="$s -e /$x/p"
done
运行的结果是:
/.*..c/p -e /.*..sh/p
我想得到的结果是:
-e /.*..c/p -e /.*..sh/p
前面少了一个-e,不知道是什么原因。
|
你是不是用echo来检查$s的值了?
$ man echo | grep -- -e
-e enable interpretation of backslash escapes
If -e is in effect, the following sequences are recognized:
如果是这样的话用echo "$s"
$ man echo | grep -- -e
-e enable interpretation of backslash escapes
If -e is in effect, the following sequences are recognized:
如果是这样的话用echo "$s"
|
lz把-e换成-temp试试,应该结果就正确了