【发布时间】:2011-05-03 20:34:29
【问题描述】:
在我的 HW 课程中,我被要求在 bash 中仅使用一行而不使用“;”来编写比较。 我需要检查变量“fname”中的字符串是否以字母“C”结尾,如果是则打印“Match”。没有其他命令。我怎样才能在一行中做到这一点?
【问题讨论】:
标签: bash
在我的 HW 课程中,我被要求在 bash 中仅使用一行而不使用“;”来编写比较。 我需要检查变量“fname”中的字符串是否以字母“C”结尾,如果是则打印“Match”。没有其他命令。我怎样才能在一行中做到这一点?
【问题讨论】:
标签: bash
我很邪恶。我喜欢“聪明”:
echo ${fname}|sed -e 's/^.*\(.\)$/\1/' -e 's/[^C]/No /' -e 's/.$/Match/'
J
【讨论】:
你知道 bash 中的 &&、|| 和 & 命令终止符吗?
[[ "${fname:(-1)}" == "C" ]] && echo Match
【讨论】: