【问题标题】:Can anyone help me to finde the error in code?谁能帮我找出代码中的错误?
【发布时间】:2021-11-15 19:21:58
【问题描述】:

我需要帮助以找到合适的方式来编写我的条件语句,因为它不起作用。

cumonth= date +%m
cudinamic=
    
if [ $cumonth =10 ];
then
    cudinamic=a
elif [ $cumonth =11]; 
then
    cudinamic=b
elif [ $cumonth =12];
then 
    cudinamic=c
else
    cudinamic=$cumonth 
fi
    
#Echo display message
$echo $ytday  
$echo $cmonth 
echo "$cudinamic"

【问题讨论】:

  • 您需要将命令包装在$() 中,以便执行它们并将结果保存到变量中。另外请发布实际代码,而不是图像,以便人们可以复制并重现问题。
  • cumonth= 日期 +%m cudinamic= if [ $cumonth =10 ];然后 cudinamic=a elif [ $cumonth =11];然后 cudinamic=b elif [ $cumonth =12]; then cudinamic=c else cudinamic=$cumonth fi #Echo 显示消息 $echo $ytday $echo $cmonth echo "$cudinamic"

标签: linux if-statement terminal


【解决方案1】:

要保存命令的输出,请使用命令替换$(...)

cumonth=$(date +%m)

[ 的参数必须用空格分隔,空格不是可选的:

elif [ "$cumonth" = 11 ];

请注意,有 4 个参数:"$cumonth"=11]。引用变量是一个好习惯,如果它是空的或包含空格,它仍然会被认为是一个单词。

【讨论】:

    猜你喜欢
    • 2019-07-26
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    相关资源
    最近更新 更多