正在写一个基于命令行的聊天程序练手,想问一下如何像例如 nginx 或者 brew 等等诸多应用那样想使用的时候直接在终端里输入 nginx xxxx 就行了而不用./指定所在目录再启动?是需要把程序放在某个特殊的目录下吗?不知道说清楚没,谢谢大佬解惑!

1 xe2vherd Oct 22, 2019 path |
2 arrow8899 Oct 22, 2019 export PATH=/your/app:$PATH |
3 xingheng Oct 22, 2019 nginx 和 brew 这类命令可以直接在你的 terminal 里面用是因为你当前 shell session 的环境变量 PATH 里面包含了他们的所在路径,用`where brew`可以找到对应执行入口的路径。 vim $(where brew),查看 brew 的执行入口文件是什么样的: #!/bin/bash set +o posix .... 从这里开始 shell 会解释执行这个 bash 脚本文件....你可以把自己写的脚本文件放到 PATH 之中的任一路径中,然后使用脚本文件名就可以被 shell 发现。 当然还有其他方法,比如 alias,shell/bash function,都可以满足你的这类需求。 |
4 KuroNekoFan Oct 22, 2019 via iPhone alias |
5 zunceng Oct 22, 2019 export PATH="/Users/$User/bin:$PATH" |
6 zunceng Oct 22, 2019 然后把 你写的软件 安装(软链接)进你 home 下的 bin 目录 |
7 shawndev Oct 22, 2019 1. 使用绝对路径 2. 将可执行文件加入 PATH 变量,并加入到.bash_profile 或者 .zshrc |
8 gunjianpan Oct 22, 2019 软链接一下 ln -s |