私はcygwinでWindowsを使用しています。次のコマンドは、文字列「./bootstrp3.cab」に含まれる「/」の出現回数を出力する必要があります。mintty.exeシェルを使用すると機能し、「1」を出力します。
echo ./bootstrp3.cab | tr -cd / | wc -c
残念ながら、bash.exeシェルで次のメッセージを出力します
Usage:
tr [-cs] string1 string2
tr -s[-c] string1
tr -d[-c] string1
tr -ds[-c] string1 string2
2つのシェルの動作は異なるようですが、どちらも同じ種類のシェルのようです。これはecho $0
、bash.exeが出力bash
し、mintty.exeが出力するため-bash
です。
また、bourneシェル(sh.exe)を使用してコマンドを試しましたが、bash.exeシェルと同じメッセージが出力されます。
コマンドをsh.exeまたはbash.exeシェルで動作させる方法を知っている人はいますか?そして、2つのbashシェルの動作が異なる理由を誰かが知っていますか?