【问题标题】:One line condition in bashbash 中的一行条件
【发布时间】:2011-05-03 20:34:29
【问题描述】:

在我的 HW 课程中,我被要求在 bash 中仅使用一行而不使用“;”来编写比较。 我需要检查变量“fname”中的字符串是否以字母“C”结尾,如果是则打印“Match”。没有其他命令。我怎样才能在一行中做到这一点?

【问题讨论】:

    标签: bash


    【解决方案1】:

    我很邪恶。我喜欢“聪明”:

    echo ${fname}|sed -e 's/^.*\(.\)$/\1/' -e 's/[^C]/No /' -e 's/.$/Match/'

    J

    【讨论】:

      【解决方案2】:

      你知道 bash 中的 &&||& 命令终止符吗?

      [[ "${fname:(-1)}" == "C" ]] && echo Match
      

      【讨论】:

      • 我对这些有点熟悉。我很乐意看到你在这里详细说明!
      猜你喜欢
      • 2021-03-21
      • 2014-06-08
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      相关资源
      最近更新 更多