我注意到Windows 7可以像执行.bat文件一样执行.sh文件。这让我想知道是否可以写一个.sh文件,以便它可以在Windows 和 Linux中执行(让我们说bash)。
我想到的第一件事是制作一个if语句,以便Windows和Ubuntu可以处理它并跳转到相应的块来执行特定于平台的命令。 怎么可以这样做?
注意:我知道这不是好习惯。我也知道像Python这样的脚本语言比混合语法命令行脚本更适合解决这个问题。我只是好奇......
答案 0 :(得分:10)
你可以用这个:
rem(){ :;};rem '
@goto b
';echo sh;exit
:b
@echo batch
它是有效的shell脚本和批处理,并将根据它的运行方式执行不同的块。
修改echo
和@echo
行以执行您想要的操作。
答案 1 :(得分:-1)
AFAIK,您无法直接从Windows cmd.exe
运行.sh文件。为此,您需要一个* nix仿真层来运行shell。查看Cygwin 或Msys/MinGW