Linux bash script bug All In One


Linux bash script bug All In One

variable assignment with spaces bug


#!/bin/sh

# WEEKLY_TITLE
# WEEKLY_DESC
# CONTENT

WEEKLY_TITLE='';
WEEKLY_DESC='';
CONTENT='';

HOUR=$(date +%H);
echo "现在时间是: ${HOUR}"

# number / string
# if [$HOUR == '14']
# if [$HOUR == 14]
# then
#     WEEKLY_TITLE="周报通知";
#     WEEKLY_DESC="? 两点了,写周报啦 ?";
#     echo "? 两点了,写周报啦 ?"
# else
#     WEEKLY_TITLE="周会通知";
#     WEEKLY_DESC="? 五点了,开周会了";
#     echo "? 五点了,开周会了"
# fi


bug ?

# ? spaces bug
CONTENT2 = '
[
    {
        "tag": "text",
        "text": "日期: '$WEEKLY_DESC'\n"
    },
    {
        "tag": "at",
        "user_id": "all",
        "user_name": "所有人"
    } 
]'

echo "? $CONTENT2"

solution ?


# echo "? '${CONTENT1}'"
echo "? $CONTENT1'"
# ? no whitespaces ok
CONTENT2='
[
    {
        "tag": "text",
        "text": "日期: '$WEEKLY_DESC'\n"
    },
    {
        "tag": "at",
        "user_id": "all",
        "user_name": "所有人"
    } 
]'

echo "? $CONTENT2"

if whitespace

if...then...else..fi

bug ?

#!/bin/bash
 
# str1="Learn Bash"
# str2="Learn Bash with tutorialkart"
 
# if [ "$str1" != "$str2" ]; then
#     echo "Both Strings are not Equal. ?"
# else
#     echo "Both Strings are Equal. ??"
# fi


HOUR=20;
echo "现在时间是: ${HOUR}"

TWO_O_CLOCK=14
# TWO_O_CLOCK='14'

# number / string 
# if [$HOUR == '14'] / if [$HOUR == 14]
# not space bug ?
# if["$var1" == "$var2"] / if["$var1" != "$var2"]
if ["$HOUR" != "$TWO_O_CLOCK"]; then
    WEEKLY_TITLE="周报通知";
    WEEKLY_DESC="? 两点了,写周报啦 ?";
    echo "\n? 两点了,写周报啦 ?"
else
    WEEKLY_TITLE="周会通知";
    WEEKLY_DESC="? 五点了,开周会了?";
    echo "\n? 五点了,开周会了?"
fi

# space ok ?
# if[ "$var1" == "$var2" ] / if[ "$var1" != "$var2" ]
if [ "$HOUR" != "$TWO_O_CLOCK" ]; then
    WEEKLY_TITLE="周报通知";
    WEEKLY_DESC="? 两点了,写周报啦 ?";
    echo "\n? 两点了,写周报啦 ?"
else
    WEEKLY_TITLE="周会通知";
    WEEKLY_DESC="? 五点了,开周会了?";
    echo "\n? 五点了,开周会了?"
fi

solution ?

#!/bin/bash
 
# str1="Learn Bash"
# str2="Learn Bash with tutorialkart"
 
# if [ "$str1" != "$str2" ]; then
#     echo "Both Strings are not Equal. ?"
# else
#     echo "Both Strings are Equal. ??"
# fi


HOUR=20;
echo "现在时间是: ${HOUR}"

TWO_O_CLOCK=14
# TWO_O_CLOCK='14'

# number / string 
# if [$HOUR == '14'] / if [$HOUR == 14]

refs

https://www.tutorialkart.com/bash-shell-scripting/bash-strings-equal/


Flag Counter

?xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有??xgqfrms, 禁止转载 ???,侵权必究??!