sh 中的小安装脚本

发布于 2024-11-25 03:32:20 字数 268 浏览 1 评论 0原文

我在sh中编写了一个小安装程序。

代码:

#!/bin/sh

echo $ 1

if [ "$1" ! = "install"];

then

echo "Why not install?

else

echo "Installing ..."

fi

并引发错误:

安装

[:10:丢失]

安装...

编辑:回滚问题答案的操作。

I programmed a small installation program in sh.

code:

#!/bin/sh

echo $ 1

if [ "$1" ! = "install"];

then

echo "Why not install?

else

echo "Installing ..."

fi

And throws an error:

install

[: 10: missing ]

Installing ...

EDIT: Rolled back incoperation of answers into question.

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

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

发布评论

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

评论(2

夜空下最亮的亮点 2024-12-02 03:32:20
if [$1 != "install"];

应该是

if [ "$1" != "install" ];
if [$1 != "install"];

should be

if [ "$1" != "install" ];
内心激荡 2024-12-02 03:32:20

这里有多个问题

第一行应该以

   #!/bin/bash (or /bin/sh)

In shell script if 开头,并且 [ 实际上是一个程序(它是 testtest 程序),而不是语法的一部分,因此您需要确保将其隔开,以便 if 和 '[' 以及任何内容都被分隔开 - 即

  if  [  "$1"  !=  "something"  ]

注意空格每个元素之间——没有空格就无法工作。

您还需要终止带引号的字符串,因此不要

 echo "Why not install?

确保引号位于行尾

 echo "Why not install?"

Multiple problems here

The first line should start with

   #!/bin/bash (or /bin/sh)

In shell script if takes a program, and [ is actually a program (it is an alias for the test program), and not a part of the syntax, so you need to make sure you space it out so that if and the '[' and anything out is separated out -- i.e.

  if  [  "$1"  !=  "something"  ]

Note the spaces between each and every element -- it will not work without spaces.

You also need to terminate your quoted strings, so instead of

 echo "Why not install?

Make sure you have the quote at the end of line

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