setjdk()
{
if ["$1" == "a"]
then echo "A"
elif ["$1" == "b"];
then echo "B"
else
echo "Cow"
fi
}
上述bash函数的目的是根据第一个给定的参数值输出不同的结果。但是,当它不能像预期的那样工作的时候。当我输入"setjdk“时,我得到了以下结果:
-bash:[a:
我正在编写一个bash脚本来启动内部java应用服务器中的Java类。但是,在下面的命令中,类名替换过程中会出现一些(')。这会导致启动失败,因为mvn需要特定格式的命令。
#!/bin/bash -x
function launchClassInEngine {
CLASS_NAME=`echo \"launch-in-engine $1\"`
# echo as I would want it to "launch-in-engine MyClass"
echo ${CLASS_NAME}
# The problem starts here
#
我有一个shell脚本,我在其中包装了一个命令(mvn clean install),将输出重定向到日志文件。
#!/bin/bash
...
mvn clean install $@ | tee $logfile
echo $? # Does not show the return code of mvn clean install
现在,如果mvn clean install因错误而失败,我希望我的包装器shell脚本也会因该错误而失败。但是,由于我将所有输出都通过管道传递给tee,因此无法访问mvn clean install的返回码,因此当我随后访问$?时,返回码始终为0(因为tee成
我是bash的新手,我尝试使用if语句,所以我尝试了下面这段简短的代码:
#!/bin/bash
if ["lol" = "lol"];
then
echo "lol"
fi
我得到了以下错误:
./script.sh:第2行:[lol:命令未找到
我尝试了其他的组合,比如:
#!/bin/bash
if ["lol" == "lol"];
then
echo "lol"
fi
但是我仍然有错误,那么正确的表述是什么呢?
谢谢
MongoDB shell version v4.0.16
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2020-02-08T22:30:51.573-0500 E QUERY [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connec