我的目标:创建一套脚本,执行一些常见的系统任务,包括这些
我已经习惯使用Cygwin / bash来缓解我的工作生活,坦率地说,我不想放弃bash语言并开始学习PowerShell,所以我开始寻找一种方法来运行Windows上的bash脚本,...最好是替代Cygwin的东西。
事实是,我对Cygwin的安装仍然不满意,并且没有简单的方法,它瞄准或多或少的专家用户,并且有很多事情可能会出现在安装。我的意思是。我现在要做的是编写一套脚本,这些脚本的目标人物不是我的专家(我绝不是真正的专家) - 在大多数情况下,某种管理员不想知道脚本细节。
我认为这个用户也希望能够在另一台机器上运行这些脚本,我希望能够解释他/她如何做到这一点,而不是说,打电话给支持,而且,我,最终(这样我们就可以在另一台机器上安装cygwin等)。
我尝试过MinGW(msys),但它也需要手动步骤来设置 - 我的意思是,这些手动步骤已成为这些Windows端口事实上的标准(对不起,也许我有吹牛的心情)。 win-bash看起来它可能是一个解决方案,但我最终也捣乱它,因为旧的bash版本,以及它无法做我能在cygwin中做的事情 - 特别是
我的问题最后:
感谢您的关注。
答案 0 :(得分:1)
如果你包装了cygwin安装过程,对于技术水平较低的用户来说应该是可以接受的。
使用命令行参数可以简化cygwin安装; http://sources.redhat.com/ml/cygwin-apps/2003-03/msg00526.html
您还可以通过cyg-apt自动安装大多数cygwin软件包。
答案 1 :(得分:1)
作为mentioned here,Cygwin安装完全可以编写脚本并进行参数化,以便以静默和自动模式运行。
如果您定义了所需的最小cygwin包列表,只需使用一个调用cygmin setup可执行文件的.bat脚本
setup.exe --packages=list_of_packages_you_need --quiet-mode
答案 2 :(得分:1)
我还没有验证这一点,但我怀疑msys通过创建系统命令的Windows可执行版本来实现* nix看起来相似。所有常用命令在我安装的msys上都有可执行文件。如果这是真的那么应该可以将它们与完整安装分开使用。
尝试将“bash.exe”,“cp.exe”等从msys bin目录复制到没有msys安装的计算机/ vm,看看它是否有效。您可能还需要复制一些dll或共享库。 Windows依赖检查程序将显示可执行文件正在使用的dll。
您可以将您使用的内容打包并制作一个简单的安装程序,或者只使用您的脚本复制文件。
答案 3 :(得分:0)
看看MKS Toolkit。与Cygwin不同,它可以存在于Windows世界中。文件以CR / LF结尾,如Windows文件,你没有/ cygdrive / c的东西。裸机驱动器号可以在MKS Toolkit中正常工作。
一些警告:
print
语句优于echo
语句。变量名称不会在块中消失。您可以轻松地执行双循环,因为几乎所有命令都可以使用unit
个输入和输出。但是,Kornshell在提示符中没有那些整齐的转义字符,并且很难在管道中间找到命令的退出状态。