我将 Windows 与 cygwin 一起使用。以下命令应输出字符串“./bootstrp3.cab”中“/”的出现次数。当我使用 mintty.exe shell 并输出“1”时它可以工作:
echo ./bootstrp3.cab | tr -cd / | wc -c
不幸的是,它使用 bash.exe shell 输出以下消息
Usage:
tr [-cs] string1 string2
tr -s[-c] string1
tr -d[-c] string1
tr -ds[-c] string1 string2
看起来这两个 shell 的行为不同,但它们似乎都是同一种 shell,因为当 I 时echo $0
, bash.exe 输出bash
和 mintty.exe 输出-bash
。
我还尝试了使用 bourne shell (sh.exe) 的命令,但它输出的消息与使用 bash.exe shell 的消息相同。
有谁知道我如何让命令与 sh.exe 或 bash.exe shell 一起工作?有人知道为什么两个 bash shell 的行为不同吗?