Linux/bin/sh检查字符串是否包含X.

use*_*861 8 linux shell

在shell脚本中,如何确定字符串是否包含在另一个字符串中.在bash中,我只想使用=〜,但我不知道如何在/ bin/sh中做同样的事情.可能吗?

ams*_*ams 11

您可以使用案例陈述:

case "$myvar" in
*string*) echo yes ;;
*       ) echo no ;;
esac
Run Code Online (Sandbox Code Playgroud)

您所要做的就是替换string您需要的任何东西.

例如:

case "HELLOHELLOHELLO" in
*HELLO* ) echo "Greetings!" ;;
esac
Run Code Online (Sandbox Code Playgroud)

或者,换句话说:

string="HELLOHELLOHELLO"
word="HELLO"
case "$string" in
*$word*) echo "Match!" ;;
*      ) echo "No match" ;;
esac
Run Code Online (Sandbox Code Playgroud)

当然,$word除非你打算进行全局匹配,否则你必须意识到不应该包含魔术全局字符.