gpt4 book ai didi

linux - 使用大额支票 if elif

转载 作者:太空宇宙 更新时间:2023-11-04 05:59:54 25 4
gpt4 key购买 nike

我正在编写一个可以自动与 MySQL 配合使用的脚本。我不明白如何实现:

MYSQL_RESULT=mysql -u LOGIN -pPASS -D "TABLE_NAME" -e "SQL request";
for i in $MYSQL_RESULT; do
if [ $i -le 100 ]
then r_kills = '100';

elif [ $i -le 500 ]
then r_kills = '100';

elif [ $i -le 1000 ]
then r_kills = '500';

echo $r_kills;
fi
done;
sh: 21: cron.rankme.sh: r_kills: not found

最佳答案

这是无效的分配。在 shell 中,等号前面或后面可能没有空格 - 与我所知道的大多数编程语言不同:

if [ $i -le 100 ]
then r_kills = '100';

if [ $i -le 100 ]
then r_kills=100;

请注意,shell 中也没有办法区分数字和文本。单引号和双引号仅用于屏蔽特殊字符,包括空格。

消息

sh: 21: cron.rankme.sh: r_kills: not found

误导我认为,您使用了路径中没有的内容,但实际上,分词器已决定,r_kills = '100' 是对带有两个参数“=”和“100”的 r_kills 的程序调用。

第一行 - 不太了解 mysql,

MYSQL_RESULT=mysql -u LOGIN -pPASS -D "TABLE_NAME" -e "SQL request";

很可能是

MYSQL_RESULT=$(mysql -u LOGIN -pPASS -D "TABLE_NAME" -e "SQL request";)

MYSQL_RESULT=($(mysql -u LOGIN -pPASS -D "TABLE_NAME" -e "SQL request";))

创建一个数组,因为您尝试迭代该变量。

关于linux - 使用大额支票 if elif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49552919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com