【问题标题】:How can you search for a char in a string in bash?如何在 bash 中的字符串中搜索字符?
【发布时间】:2013-05-13 20:12:39
【问题描述】:

如果我有一个字符串var="root/Desktop",如何确定var var 是否包含'/' 字符?

【问题讨论】:

    标签: bash bash4


    【解决方案1】:

    echo "${var1}" | grep '/' 应该可以工作。

    【讨论】:

    • 别忘了引用"${var1}",你永远不知道。
    【解决方案2】:

    bash 可以用=~ 匹配正则表达式,试试:

    [[ $var =~ "/" ]] && echo "contains a slash"
    

    【讨论】:

    • +1 - 你的比使用 grep 更好。但我认为使用外部程序有其优势。
    【解决方案3】:

    以下方法可行

    [[ "$var" = */* ]]
    

    【讨论】:

      【解决方案4】:

      可在任何 Bourne-heritage shell 中工作且不需要昂贵的分叉或管道的便携式解决方案:

       case $var in
         (*/*)   printf 'Has a slash.\n';;
         (*)     printf 'No slash.\n';;
       esac
      

      【讨论】:

        猜你喜欢
        • 2016-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-16
        • 2016-11-30
        相关资源
        最近更新 更多