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
相关推荐
梦想的颜色3 小时前
从零入门:Docker在Ubuntu上的安装、使用与主流镜像仓库实战(Java/Go/MySQL/PostgreSQL/MongoDB/Nginx
java·ubuntu·docker
行智科技5 小时前
FAST-LIVO2 源码精读(二):环境搭建与编译避坑
算法·ubuntu·自动驾驶·slam
Qres8216 小时前
docker & WSL & Ubuntu安装记录
ubuntu·docker·容器·wsl
程序猿阿伟7 小时前
《Chrome非必要服务的精细化关闭指南》
前端·chrome·php
程序猿阿伟7 小时前
《拆解Chrome存储架构:浏览痕迹的残留死角与清除路径》
jvm·chrome·架构
祭曦念9 小时前
【共创季稿事节】鸿蒙原生 ArkTS 布局:NavRouter + NavDestination 导航布局实战
ubuntu·华为·harmonyos
黑白园9 小时前
【环境搭建】虚拟机及Ubuntu安装所需的电脑硬件资源
linux·ubuntu
syc789012319 小时前
中文语境下AI编码工具实战对比:从迭代体验看日常开发选择
linux·人工智能·ubuntu
vsropy21 小时前
Ubuntu网络图标消失问题/有网络问号
linux·运维·ubuntu
coderwu1 天前
Ubuntu 24.04 终端输入 openclaw config 提示未找到命令解决办法
linux·运维·ubuntu