我是新来的,所以我为我的错误道歉,也为我缺乏知识感到抱歉(我只是初学者)。所以它在这里,我正在和李一起做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
具体地说,我想从中得到什么——我输入一些单词/句子/随便什么,如果它包含你们中的一些字符串,那么就打印它,但每次它都会变成其他的;_;。请帮忙。
编辑现在可以了,谢谢,但我需要检查字符串是否包含单词。
if [[ $string =~ .*My.* ]]
似乎不起作用
我一点也不明白,失去了希望,在上搜索网页
#!/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
我刚刚粘贴了这个脚本来检查它是如何工作的,并对它进行了修改,它不是我的脚本,它应该工作,但它说"你选择了取消。"
您可能正在寻找像==
或!=
这样的字符串比较运算符。例如,
if [ "$something" == "you" ]; then
echo "$something"
else
echo "nope"
fi
如果$something
等于you
,则回波$something
;否则回声CCD_ 6。
或者,正如David C.Rankin在他的评论中提到的,您可以检查字符串变量来证明字符串是否为空。例如,
if [ -z "$something"] ;then
字符串为空
if [ -n "$something" ]; then
字符串为非空
有关此方面的更多信息,请查看TEST
手册页面。