在macOS上分发可执行终端命令

时间:2017-04-09 07:48:07

标签: bash macos shell unix terminal

我基本上为开发工作流程中的所有内容制作了bash / ruby​​命令(todopullrequestasciiartremind等等。与我合作的人总是要求我与他们分享我的命令,但为此,我将文件传输到他们的计算机,然后xargs通过chmod +xmv /usr/local/bin的每个文件。< / p>

想知道我可以提前做些什么来简化导入过程。使用一些Mac安装工具或git&amp; makefile解决方案,但是如果可能的话,我真的希望将过程简化为单击或命令。

4 个答案:

答案 0 :(得分:1)

将Nix表达式与Nix包管理器一起使用:https://en.m.wikipedia.org/wiki/Nix_package_manager! Mac上支持它。

答案 1 :(得分:1)

只需在Finder中选择并按下键盘快捷键即可使终端命令可执行。

以下是解决问题的方法。

<强> 1。使用Automator

创建macOS服务

1.1打开Automator并创建新服务
1.2在顶部,选择服务在Finder 中接收选定的as arguments 1.3将获取选定的Finder项目操作拖到工作流程中 1.4将运行Shell脚本操作拖到工作流程中 1.5在运行Shell脚本操作中,选择通过输入:chmod u+x "$@" && mv "$@" /usr/local/bin ,然后在文本字段中键入:
~/Library/Services
1.6节省服务

automator workflow

<强> 2。将服务分发给同事的计算机

2.1创建的服务位于~/Library/Services
2.2将其移至其他计算机并通过打开文件进行安装,或手动将服务复制到{{1}}

service installer

第3。将服务绑定到键盘快捷键

3.1打开系统偏好设置→键盘→快捷方式→服务→常规
3.2为您的服务选择合适的键盘快捷键

您也可以通过右键单击文件并在上下文菜单底部的“服务”子菜单中选择操作来运行该服务。

答案 2 :(得分:1)

与包含脚本的人共享 Dropbox 目录,并确保其位于PATH

改进脚本时无需更新,因为它们会自动查看最新版本。

使用git管理目录以进行版本控制。

答案 3 :(得分:1)

为了完成起见,我想发布标准的makefile解决方案。适用于macOS /和GNU(Linux)

将makefile放在项目目录中。

所以该目录看起来像[ my-executable makefile readme.md ]或其他

# makefile

install: 

    # side note: `@` prevents make from printing the command itself

    @echo "installing..."
    @chmod +x my-executable
    @cp my-executable /usr/local/bin
    @echo "done!"

然后通知收件人从项目目录下载/克隆并运行sudo make install

或者对于单行解决方案(假设收件人信任你一点点)

git clone https://githost.com/myaccount/myrepo.git && 
sudo make install -C myrepo && 
rm -rf myrepo 

(下载,安装,删除克隆目录) - 用户16分钟前