Bash脚本,可在Windows和Mac上运行



编写一个简单的bash脚本

#!/bin/bash
wget -q https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz
tar -zxf helm-v${HELM_VERSION}-linux-amd64.tar.gz
mv ./linux-amd64/helm ${BIN_PATH}/helm
rm -rf linux-amd64/ helm-v${HELM_VERSION}-linux-amd64.tar.gz
chmod +x ${BIN_PATH}/helm

但是我必须删除行尾(CRLF &每次我从Windows切换到Mac,或者反之亦然。

在包doc2unix (https://formulae.brew.sh/formula/dos2unix)处理这些。

是否有最佳实践如何处理这个问题,使脚本可以无缝地工作而无需任何更改?

有几个选项,

  1. 如果您使用的是Git存储库或版本控制系统,其中可以设置自动更改行结束符,从LF到CRLF。当用户下载脚本时。大多数用户都有版本控制系统,并且在运行相同的脚本时,如果只是处理行尾,则更喜欢这种方法。

  2. 在两个文件夹中放置两个版本的文件,其中一个用于Windows,一个用于Linux,或者在脚本中编写一些代码来检测操作系统是什么,然后运行与操作系统一起工作的代码。

  3. 软件,可以转换文件执行从Windows到Linux,你正在使用一个已经叫doc2unix

最新更新