0 背景
使用某个服务器时,经常先到目录下,再启动
$ cd ~/softwares/trojan
$ ./trojan
Welcome to trojan 1.16.0
[2024-09-02 16:54:36] [WARN] trojan service (client) started at 127.0.0.1:1080
如果直接使用绝对路径执行,就会报错
$ ~/softwares/trojan/trojan
Welcome to trojan 1.16.0
[2024-09-02 16:56:29] [FATAL] fatal: config.json: cannot open file
[2024-09-02 16:56:29] [FATAL] exiting. . .
怀疑找不到 config.json ,与路径有关
1 整合命令
1.1 方法1
cd ~/softwares/trojan && ./trojan
&&:逻辑AND操作符,仅当前一个命令成功时,才会执行后一个命令
1.2 方法2
pushd ~/softwares/trojan > /dev/null && ./trojan && popd > /dev/null
- pushd ~/softwares/trojan:将当前目录压栈,然后切换到指定目录。
-
/dev/null:将命令输出重定向到/dev/null,避免显示目录切换信息。
*./trojan:执行程序。 - popd > /dev/null:执行完毕后,将原先的目录弹出栈并切换回去,同时将输出重定向到/dev/null。
2. 简化命令
在.bashrc或.bash_aliases文件中设置别名:
alias trojan="cd ~/softwares/trojan && ./trojan"
or
alias trojan="pushd ~/softwares/trojan > /dev/null && ./trojan && popd > /dev/null"
然后
$ source ~/.bashrc
$ trojan
Welcome to trojan 1.16.0
[2024-09-02 17:16:44] [WARN] trojan service (client) started at 127.0.0.1:1080