如何在不直接编辑`bash_aliases`文件的情况下添加别名?

逃避

有没有一种方法可以从命令行添加别名而无需直接编辑bash_aliases文件?为了明确起见,我如何制作bash脚本而不必沿行输入内容nano bash_aliases来添加它们呢?

芒登

假设您正在使用bash_aliases(没有必要,也可以.bashrc在其他位置定义别名),则只需在文件中添加一行:

printf "alias foo='bar'" >> ~/.bash_aliases

或者,如果只希望当前会话使用此别名,则直接使用alias命令:

alias foo='bar'

重要的

Bash默认情况下不允许在脚本中扩展(工作)别名,您将需要激活以下expand_aliases选项:

#!/usr/bin/env bash

alias foo='echo "It works!"'
echo "  Alias defined, attempting to use without expand_aliases"
foo

shopt -s expand_aliases
echo "  Attempting to use with expand_aliases"
foo

如果我运行上面的脚本,则别名foo仅在激活expand_aliases选项后才能起作用

$ a.sh
  Alias defined, attempting to use without expand_aliases
/home/terdon/scripts/a.sh: line 5: foo: command not found
  Attempting to use with expand_aliases
It works!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不直接在Laravel 5.6中编辑的情况下覆盖AuthenticatesUsers供应商文件中的loggingOut?

如何在不立即读取整个文件的情况下编辑文本文件

如何在不编辑XAML的情况下向设计器中的网格单元添加控件?

如何在不编辑 Flutter 初始值的情况下添加初始值?

如何在不登录的情况下编辑.bashrc

如何在不手动修改文件的情况下编辑展开?

如何在不编辑bin文件的情况下配置IntelliJ产品?

如何在不编辑代码的情况下更改要保存的文件的名称?MatLab

如何在不损坏文件的情况下从 PHP 编辑 crontab 作业?

如何在不编辑核心文件的情况下修改 Bootstrap 4 Mixin

〜/ .bash_aliases与别名命令

如何在不覆盖的情况下向日志文件添加内容?

如何在不指定完整路径的情况下添加或提交特定文件?

如何在不覆盖先前数据的情况下向文件添加数据

如何在不添加 ./ 的情况下运行可执行文件

如何在不更改 UI 的情况下添加 NavigationLink?

如何在不终止的情况下运行bash脚本

如何在不更改 Win2D 中的原始文件的情况下编辑 .svg 文件属性?

如何在不编辑/etc/apt/sources.list的情况下添加apt-get存储库?

如何在不覆盖文件的情况下多次保存

如何在不阻止Windows的情况下打开文件?

如何在不覆盖Java的情况下写入文件?

如何在不编辑的情况下将.js文件包含到项目的所有jsp页面中?

如何在不编辑核心文件的情况下更改 Wordpress 核心数据库功能?

如何在不编辑文件的情况下仅在生成的代码中禁用编译器警告

打开新终端导致编辑 bash_aliases 文件

如何在不编辑原点的情况下复制 BlockingCollection 并编辑新的

如何在不编辑字典本身的情况下提取和编辑字典值?

是否可以在不编辑文件的情况下添加Cron作业?