LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 823|回复: 1

字符串连接

[复制链接]
发表于 2011-1-4 20:42:19 | 显示全部楼层 |阅读模式
#!/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,不知道是什么原因。
  • 发表于 2011-1-7 12:31:00 | 显示全部楼层
    Post by Parmenides;2124984
    #!/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,不知道是什么原因。
  • 你可能是最后
    1. echo $s
    复制代码

    而不是
    1. echo "$s"
    复制代码

    第一种情况,$s扩展后,前面的第一个 -e 被echo当作自己的选项,所以输出中你就看不到第一个-e了。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表