如何在bash中比较字符串?

如何在bash中比较字符串?,bash,shell,scripting,Bash,Shell,Scripting,这让我发疯,我在shell中粘贴了以下脚本: a=""; for f in $(ls -d -- */); do if [[ "$a" != "index/" ]]; then a="$a---$f--- "; fi done; echo "$a"; 我得到了什么 ---index/--- “index/”怎么可能不等于“index/” 刀砍?语法?请帮助…a从未设置为“index/”f可以设置为index,因此,a被设置为包含--的内容 你想做的事情有点难,但是你可能想在中检查 f>代码>

这让我发疯,我在shell中粘贴了以下脚本:

a=""; for f in $(ls -d -- */); do if [[ "$a" != "index/" ]]; then a="$a---$f--- "; fi done; echo "$a";
我得到了什么

---index/---
“index/”怎么可能不等于“index/”

刀砍?语法?请帮助…

a
从未设置为
“index/”
f
可以设置为index,因此,
a
被设置为包含
--
的内容

你想做的事情有点难,但是你可能想在<代码>中检查<代码> f>代码>如果不是<代码>语句,而不是<代码> A<代码> .< /P> < p> <代码> < <代码>永远不会设置为<代码>“索引/”< /代码>。code>f可以设置为index,因此,

a
被设置为包含
--
的内容

if [[ "$a" != "index/" ]];

你想做的事情有点难,但是你可以考虑在<代码>中检查<代码> f>代码>如果< <代码>语句,而不是<代码> < < /代码> .<

if [[ "$a" != "index/" ]];
您将需要:

if [[ "$f" != "index/" ]];
您将需要:

if [[ "$f" != "index/" ]];

shell脚本告诉我们真相:空白字符串
$a
和“index/”不匹配。旁白:您不需要
$(ls)
位:shell脚本告诉我们真相:空白字符串
$a
和“index/”不匹配。旁白:您不需要
$(ls)
位: