Ubuntu 20.04 整合 bash 命令,并简化命令

0 背景

使用某个服务器时,经常先到目录下,再启动

bash 复制代码
$ 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

如果直接使用绝对路径执行,就会报错

bash 复制代码
$ ~/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

bash 复制代码
cd ~/softwares/trojan && ./trojan

&&:逻辑AND操作符,仅当前一个命令成功时,才会执行后一个命令

1.2 方法2

bash 复制代码
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文件中设置别名:

bash 复制代码
alias trojan="cd ~/softwares/trojan && ./trojan"

or

bash 复制代码
alias trojan="pushd ~/softwares/trojan > /dev/null && ./trojan && popd > /dev/null"

然后

bash 复制代码
$ 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
相关推荐
典典分享指南13 小时前
一品牌多产品线的 GEO 内容矩阵:从策略到落地
java·c#·bash·symfony
运维全栈笔记14 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
一叶龙洲14 小时前
Ubuntu24.04Fcitx5使用macos12界面
ubuntu
米糕闯编程15 小时前
鱼香ros2(一)在ubuntu中安装ros2
linux·运维·ubuntu·机器学习
cnnews15 小时前
Ubuntu 编译 postmarketOS
linux·运维·arm开发·ubuntu·github·音视频
吴声子夜歌20 小时前
Linux命令——学习Shell(三)
linux·chrome·学习
panic了再查21 小时前
disable_reasons 里那一位早就置上了:把下架、禁用、装不上分成三层取证
chrome
Linux-lucky1 天前
33-Linux学习之旅之MySQL用户管理
java·linux·运维·学习·mysql·ubuntu
头茬韭菜1 天前
第 3 篇:「Pydantic 即 Schema」—— 工具生态三层解剖
前端·chrome·ai·openmanus
邋遢道2 天前
# 企业级 Agent 从 0 到 1(二):技术选型与最小骨架
前端·chrome