0

我在这里很新,所以我为我的任何错误道歉,我很抱歉我缺乏知识(我只是初学者)。所以在这里,我在 bash 中用 li 编写小脚本,并且我有 if 语句,这里是

#!/bin/bash
something=$(whiptail --inputbox "Enter some text" 10 30 3>&1 1>&2 2>&3)
if [ $something ?? 'you' ];
then
    echo "$something"
else
  echo "nope"
fi

具体来说,我想从中得到什么-我输入了一些单词/句子/任何要鞭打的东西,如果它包含你们中的一些字符串然后打印它,但每次它都去其他地方;_;。请帮忙。

现在编辑它可以工作了,谢谢,但我需要检查字符串是否包含单词。

if [[ $string =~ .*My.* ]]

似乎不起作用

4

2 回答 2

0

您可能正在寻找的是字符串比较运算符,例如==or !=。例如,

if [ "$something" == "you" ]; then
    echo "$something"
else
  echo "nope"
fi

如果$something等于you则回显$something;否则回声nope

或者,正如 David C.Rankin 在他的评论中提到的,您可以检查字符串变量以证明字符串是否为空。例如,

if [ -z "$something"] ;then 

字符串为空

if [ -n "$something" ]; then

字符串非空

有关这方面的更多信息,请查看TEST手册页。

于 2016-04-20T16:58:36.857 回答
0

我完全不明白,失去希望并搜索我遇到的网络

#!/bin/bash
OPTION=$(whiptail –title “Menu Dialog” –menu “Choose your option” 15 60 4 \ “1” “Grilled ham” \ “2” “Swiss Cheese” \ “3” “Charcoal cooked Chicken thighs” \ “4” “Baked potatos” 3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ];
then echo “Your chosen option:” $OPTION
else echo “You chose Cancel.”
fi

我刚刚粘贴了这个脚本来检查它是如何工作并修改它,它不是我的脚本,它应该可以工作,但它说“你选择了取消。”</p>

于 2016-01-06T04:52:54.423 回答