我已经完成了一个用 Bash 编写的有用脚本,托管在 github 上。它已经过测试和记录。现在,我为如何制作而苦苦挣扎installable
,即我应该把它放在哪里以及如何制作。
似乎其他此类项目使用 make 和 configure 但我真的找不到任何关于如何为 bash 脚本执行此操作的信息。
另外我不确定将我的脚本放在哪个目录中。
我知道如何让它自己可用,但如果用户下载它,我想为他提供轻松安装它的方法。
我已经完成了一个用 Bash 编写的有用脚本,托管在 github 上。它已经过测试和记录。现在,我为如何制作而苦苦挣扎installable
,即我应该把它放在哪里以及如何制作。
似乎其他此类项目使用 make 和 configure 但我真的找不到任何关于如何为 bash 脚本执行此操作的信息。
另外我不确定将我的脚本放在哪个目录中。
我知道如何让它自己可用,但如果用户下载它,我想为他提供轻松安装它的方法。
这没有标准,因为大多数时候,项目不是单个脚本文件。单文件脚本也不需要构建步骤(脚本已经是可执行形式)并且配置通常来自外部配置文件(因此也不需要configure
脚本)。
但我建议在文件顶部附近添加注释,解释它的作用以及如何安装它(即chmod +x
+ 复制到文件夹)。
或者,您可以创建一个安装程序脚本,其中包含您的原始脚本和一个标题,该标题询问用户她想在哪里安装真正的脚本以及执行所有操作(mkdir
、设置权限sudo
等),但在您的情况下,这真的感觉有点矫枉过正。
如果您想使其可安装以便包管理器可以轻松地安装和删除(!)它,您需要查看rpm或Debian 打包的文档。这是两个最常用的包管理器,但它们不能为每个用户安装一个脚本(所以它可能最终会在/usr/bin
)
指示他们在他们的主目录中创建一个以脚本命名的文件,chmod ug+x 文件以便它具有可执行权限而不是将脚本放入文件中,不要忘记 #!/bin/bash 顶部的 vim . 这个例子是一个复制文件的脚本,存档复制的文件而不是删除复制的文件,只留下原始文件和存档文件。
#!/bin/bash
#### The following will copy the desired file
cp -r /home/wes/Documents/Hum430 /home/wes/docs
#### Next archives the copied file
tar -zcvf Hum430.tar.gz /home/wes/docs
#### and lastly removes the un-archived copy leaving only the original and the archived file.
rm -r /home/wes/docs
### run the file with ./filename (whatever the file is named)