質問
私はbashrcにと.zshrcの両方によって供給されたファイルに次のように持っています。構文はサイトでからです。
if $SHELL=/bin/zsh
then
# to not java .class when running java
myclasslist () { reply=(${$(ls *.class)%.class}) }
compctl -K myclasslist java
fi
ZshのとBashの両方が、それの動揺行きます。
-clause場合は、のどのようにして、SH中、aを作ることができますか?の
解決
あなたは(習慣に取得するだけでなく、引用符)テスト演算子で条件をラップする必要があります
シェルでます:
#!/bin/sh
if [ "$SHELL" = "/bin/zsh" ]; then
# do your thing
fi
bashでます:
#!/bin/bash
if [ "$SHELL" == "/bin/zsh" ]; then
# just do it!
fi
他のヒント
あなたはtest
エイリアス[
コマンドを必要とします:
if [ "$SHELL" = "/bin/zsh" ]
then
myclasslist () { reply=(${$(ls *.class)%.class}) }
compctl -K myclasslist java
fi
:彼らが言うので、
あなたが言及したウェブサイトでは、彼らはテスト演算子([])を使用していません
それが実行されている場合、たとえば、猫は0を返します。 成功した、と1それが発生した場合 エラー
ザ・「ブール文」が続くとしなければならない場合は、この文は0を返す場合は、「それから」実際に実行される...
あなたのケースでは、セスの答えはあなたが探しているものです。
所属していません StackOverflow