场景需求
在命令行中启动应用程序是常见的需求,输入一个命令和路径,就可以在输入的路径下启动对应的应用程序,这样的方式很方便,免得去点击应用程序图标才能打开,类似于vscode的code命令。
方法
以下方式都针对Mac OS系统
终端输入的命令会在$PATH环境变量下寻找,$PATH包含了几个目录,通常选择/usr/local/bin目录来存放新增的命令。
方式一
将应用程序的可执行文件链接到usr/local/bin目录下,这里以CocosCreator应用程序为例。
- 打开Application目录,找到CocosCreator图标,右键显示包内容,找到CocosCreator可执行文件的位置(
/Applications/CocosCreator.app/Contents/MacOS/CocosCreator)。 - 使用命令
ln -s /Applications/CocosCreator.app/Contents/MacOS/CocosCreator /usr/local/bin/cocos生成链接文件cocos(即Mac OS中的替身文件) - 在命令行输入cocos即可打开CocosCreator应用程序
方式二
方式一存在的问题就是在终端打开应用程序时,应用程序一直处于前台运行状态,终端一直被占用着,并且打开过程中的输出信息会显示在终端。因此,要使用后台启动应用程序的方式,且让应用程序的log文件不显示在标准输出流中。
- 编写一个shell脚本,脚本内运行后台启动应用程序且不显示log输出流
- 将shell脚本链接到全局
shell脚本
cocos.sh文件内容如下
#!/bin/bash
/Applications/CocosCreator.app/Contents/MacOS/CocosCreator >CocosCreator.txt 2>&1 &
其中
- 命令末尾的&表示后台启动
>CocosCreator.txt 2>&1表示将输出重定向到日志文件。- 这里的>是定向符,可以将输出打印到日志文件,CocosCreator.txt 就是新建的日志文件。> 默认为标准输出重定向,2>&1 意思是把 标准错误输出 重定向到 标准输出。
shell脚本链接到全局
使用和方式一一样的链接方式,将上述shell脚本cocos.sh链接到全局usr/local/bin目录下
ln -s <自定义的路径>/cocos.sh /usr/local/bin/cocos
这里的自定义路径是存放上述shell脚本的目录。
通过这两步的操作,就可以在终端直接执行cocos命令来后台打开CocosCreator应用程序,并且没有在终端输出日志信息。
21万+

被折叠的 条评论
为什么被折叠?



