如果每次都有其他声明 - bash

时间:2016-01-06 02:50:05

标签: bash whiptail

我在这里很新,所以我为我的任何错误道歉,我很抱歉我缺乏知识(我只是初学者)。 所以在这里,我正在使用li进行bash的小脚本,我有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

具体到我想要的东西 - 我输入一些单词/句子/无论是whiptail,如果它包含你的一些字符串然后打印它,但每次它都去了; _;。请帮助。< / p>

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

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

似乎无法正常工作

2 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:0)

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

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手册页。