我的整个脚本目前是这样的:
#!/bin/sh
clear;
blanko="";
# Dummy-Variablen
variable=Testvariable;
if [[$variable == $blanko]];
then
echo "Nichts da!"
else
echo $variable
fi
如果我进去了
TestSelect.sh
我得到
/usr/bin/TestSelect.sh: line 6: [[Testvariable: command not found
Testvariable
我该如何解决这个问题?
只需使用#! /bin/bash
如果您使用bash脚本,例如:if[[$分区=="/dev/sda2"]];然后
比较字符串并使用运行脚本。/scriptname.sh
或bashscriptname.sh
在相关注释中,[]
周围还需要空格:
if [ "$variable" = "$blanko" ]; then
# more code here
fi
请注意,变量确实需要在[]
中用双引号括起来,以防止分词和全局化。双引号在未设置任何一个被比较的变量时也有帮助——否则shell会抛出语法错误。
查看下面的帖子,了解为什么我们需要[]
周围的空格:
另一篇相关文章讨论了其他也需要空格的语法元素:
最后,本文讨论了[[]]
和[]
之间的区别:
相关:
这是问题:
if [[$variable == $blanko]];
方括号内需要空格,这样使用:
[[ "$variable" == "$blanko" ]] && echo "Nichts da!" || echo "$variable"
这让我总是虚伪。 我能做什么??我只希望bool在“on”时为True,在“null”时为false
问题内容: 我有一个简单的疑问。如果有人帮助我,那就太好了。 我有两个字符串: 这两个值相等,但是如何在Java中比较它们呢?我们拥有并用于比较字符串alpha值,类似地,如何比较数字值。 问题答案: 这就对了。您可以使用方法将数字字符串转换为整数,该方法将返回类型。然后比较与相同。
问题内容: 我在修复此bash脚本中的错误时遇到问题,我真的不知道我做错了什么,感谢您的任何帮助,谢谢 问题答案: 在 之前和 之后 添加一个空格。
问题内容: 有什么方法可以像下面这样在SQL Server 2008存储过程中比较两个字符串? 如果字符串相同,则返回0 如果根据当前的排序顺序,第一个参数小于第二个参数,则返回-1。 否则返回1。 以上方法我在MySQL中找到,但在SQL Server中找不到。 问题答案: SQL Server中没有直接的字符串比较功能 笔记 您可以使用CREATE FUNCTION等通过UDF进行包装 您可能
在与字符串进行比较时,我们可以使用或 在中,我们知道它检查引用,但在中它检查内容。 假设有两个字符串 字符串s=“SO”;字符串s1=“SO”; 所以在这种情况下,s1==s和s.equals(s1)都将为真。 但在这里它给了我错误 所以我假设比优先级高 所以在这种情况下 它将像(“s1)==s一样被拆分,现在“s1”将是一个新字符串,因此新字符串永远不会等于s,因此其打印错误 我只是想知道我的想
我试着比较两个字符串的字符 String string1=“ABC” 这里举个例子,如果我们一起比较字符串,在索引“1”中的字符串“B”中的索引0中可以找到字符串“A”,所以通过比较字符串,我应该得到一个数字01221,我知道在java中它有,,但我想不出如何实现这一点