unix shell 脚本中 if 语句的语法错误:ksh: test: argument Expected”

发布于 2025-01-17 23:25:46 字数 197 浏览 0 评论 0原文

在 unix shell 脚本中执行 ssh 命令中的 if 语句时出错。 Linux 和 sunos

#!/bin/bash
ssh u1@s1 "if [ $a == 100 ] 
then
echo Hey that is a large number
pwd
fi
date"

错误: Ksh:测试:预期参数

Error on executing if statement in ssh command in unix shell scripting.
Linux and sunos

#!/bin/bash
ssh u1@s1 "if [ $a == 100 ] 
then
echo Hey that is a large number
pwd
fi
date"

Error:
Ksh: test: argument expected

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫烠⑼条掵仅有一顆心 2025-01-24 23:25:46

如果 $a 为空,您将得到以下结果:

$ unset a
$ [ $a == 100 ] && echo one hundred || echo not
ksh: [: argument expected
not

解决方案:引用变量

$ [ "$a" == 100 ] && echo one hundred || echo not
not

或使用双括号条件

$ [[ $a == 100 ]] && echo one hundred || echo not
not

我正在使用 ksh 93u+

You'll get this if $a is empty:

$ unset a
$ [ $a == 100 ] && echo one hundred || echo not
ksh: [: argument expected
not

Solution: quote the variable

$ [ "$a" == 100 ] && echo one hundred || echo not
not

Or use the double bracket conditional

$ [[ $a == 100 ]] && echo one hundred || echo not
not

I'm using ksh 93u+

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文