cok*_*ude 59 bash shell-script test
我在使用 bash 时遇到问题。我试图将命令放入if语句中,然后将其与字符串进行比较。
这完美地工作。
echo $(ipcs | grep Shared | awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)
当我把它放在if声明中时,我遇到了一些问题。
$ if [ "$(ipcs | grep Shared | awk '{print $2}')" -eq "Shared"]; then
echo expression evaluated as true;
else
echo expression evaluated as false;
fi
bash: [: missing `]'
expression evaluated as false
$ if [ "$(ipcs | grep Shared | awk '{print $2}')" = "Shared"]; then
echo expression evaluated as true;
else
echo expression evaluated as false;
fi
bash: [: missing `]'
expression evaluated as false
$ if [ "$(ipcs | grep Shared | awk '{print $2}')" == "Shared"]; then
echo expression evaluated as true;
else
echo expression evaluated as false;
fi
bash: [: missing `]'
expression evaluated as false
Run Code Online (Sandbox Code Playgroud)
我尝试了==, =, 并且-eq因为我不确定该使用哪一个。
Yan*_*ann 82
你的missing ]'错误是因为你在其间需要一个空间"Shared"和],太行应该是if [ "$(ipcs | grep Shared | awk '{print $2}')" == "Shared" ]; then。
| 归档时间: |
|
| 查看次数: |
155579 次 |
| 最近记录: |