Linux/mac下的自定义命令alias,并保存别名使其永久生效(重启不会失效)

本文介绍如何在Linux和Mac系统中使用alias命令来自定义常用操作的快捷方式,并确保这些自定义命令在系统重启后依然有效。通过编辑~/.bashrc文件并配置.bash_profile或/etc/profile文件,用户可以轻松实现自定义命令的持久化。
部署运行你感兴趣的模型镜像

linux/mac下的自定义命令alias,并保存别名使其永久生效(重启不会失效)



现在做开发每次提交代码的命令都是一长串参数,不想去记,于是可以使用alias命令来解决这个问题:
alias aCommandAlias='aCommand 一堆参数什么的'
比如
alias gpush='git push origin HEAD:refs/for/master'
这样在终端中,只需要输入gpush就ok了。
——–
但是只是这样的话,会在重启之后失效,解决办法是编辑~/.bashrc文件,每行加入一个alias命令。比如:
alias cdhome='cd ~'
alias cdroot='cd /'
alias gpull='git pull'
alias gci='git commit -a'
alias gpush='git push origin HEAD:refs/for/master'
alias gst='git status'

保存文件后,运行:
source ~/.bashrc(不然不生效)
就可以了。
如果还不行的话,说明没有~/.bash_profile文件,或者文件中没有执行.bashrc文件。
(.bash_profile文件是用户登陆终端的时候会自动执行的文件,一般此文件中会调用.bashrc)
如果是这样,需要打开(如果没有的话先创建)文件:
~/.bash_profile
在里面加入一行:
source ~/.bashrc
就ok了。
我在mac系统下测试ok的。


或者

vim /etc/profile

设定 alias 内容

转至:http://blog.unieagle.net/2012/05/21/linux%E4%B8%8B%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%91%BD%E4%BB%A4alias%EF%BC%8C%E5%B9%B6%E4%BF%9D%E5%AD%98%E5%88%AB%E5%90%8D%E4%BD%BF%E5%85%B6%E6%B0%B8%E4%B9%85%E7%94%9F%E6%95%88%EF%BC%88%E9%87%8D/


您可能感兴趣的与本文相关的镜像

Wan2.2-I2V-A14B

Wan2.2-I2V-A14B

图生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

### Xshell 脚本中 `alias` 别名生效的原因分析与解决方案 在 Xshell 中运行脚本时,如果发现定义的 `alias` 别名生效,通常是因为以下几个原因导致的。以下是详细的分析和解决办法。 --- #### 1. **临时作用域问题** `alias` 命令默认仅在当前 shell 会话中有效。一旦退出该会话,别名就会失效[^2]。因此,在脚本中直接使用 `alias` 不会继承到其他子进程或新的 shell 实例中。 ##### 解决方案 为了使 `alias` 在整个环境中生效,需将其持久化到用户的配置文件中(如 `.bashrc` 或 `.bash_profile`),通过 source 加载的方式使其生效。 ```bash # 将 alias 添加到 .bashrc 文件中 echo "alias ll='ls -l'" >> ~/.bashrc # 让更改立即生效 source ~/.bashrc ``` 这样可以在新开启的 shell 会话中继续使用已定义的别名[^2]。 --- #### 2. **非交互式 Shell 的限制** Xshell 执行脚本时,默认是以非交互模式运行的。在这种模式下,许多用户级配置文件(如 `.bashrc`)不会被加载,从而导致其中定义的 `alias` 失效[^4]。 ##### 解决方案 强制加载 `.bashrc` 文件以确保别名可用: ```bash #!/bin/bash # 显式加载 .bashrc 文件 source ~/.bashrc # 测试别名是否生效 ll ``` 或者,也可以直接在脚本开头显式声明所需的别名,而无需依赖全局配置文件: ```bash #!/bin/bash # 在脚本中直接定义别名 alias ll='ls -l' # 使用别名 ll ``` 这种方式适合不需要永久保留别名的场景。 --- #### 3. **Cron 和 Docker 场景下的额外注意事项** 如果是在 Cron 或 Docker 环境中遇到类似的 `alias` 生效问题,则可能是由于这些环境未加载任何用户级别的初始化文件所致[^1]。此时需要采取以下措施: - 对于 Cron 任务,应在脚本中显式加载必要的配置文件。 - 如果涉及 Docker 容器内的命令执行,应确认容器的基础镜像是否已经预设了相应的初始化逻辑。 示例如下: ```bash #!/bin/bash # 强制加载用户配置文件 source /home/user/.bashrc # 继续执行后续命令 my_alias_command ``` --- #### 4. **验证 Alias 是否成功加载** 无论采用哪种方式解决问题,都建议在调试阶段加入一些验证机制,以确保别名已被正确解析。可以使用以下命令检查当前 session 下的所有别名定义: ```bash alias ``` 这将列出所有有效的别名及其映射关系[^3]。 --- ### 示例代码 以下是一个综合性的脚本模板,用于演示如何在 Xshell 脚本中正确应用 `alias`: ```bash #!/bin/bash # Step 1: 检查加载用户配置文件 if [[ -f "$HOME/.bashrc" ]]; then source "$HOME/.bashrc" fi # Step 2: 定义测试用的别名 alias testcmd='echo This is an alias command!' # Step 3: 验证别名是否生效 testcmd ``` --- ### 结论 通过以上方法,可以有效地解决 Xshell 脚本中 `alias` 别名生效的问题。核心在于理解 `alias` 的作用范围,根据实际需求选择合适的加载策略。 ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值