【问题标题】:Bash programming, insert arguments into bash aliases [duplicate]Bash编程,将参数插入bash别名[重复]
【发布时间】:2012-04-24 17:21:27
【问题描述】:

可能重复:
Shell Script: How to pass command line arguments to an UNIX alias?

如何在 bash 别名中插入参数?

例如, 每当我创建一个新目录时,我大部分时间都会将cd 放入其中,但为此我必须运行两个命令。

$ mkdir directory
$ cd directory

所以,我想知道是否可以创建一个新目录并在单个命令中切换到它。尝试在我的 .bashrc 文件中添加以下别名:

alias mkdir="mkdir $@ && cd $@"

所以,我可以正常调用它mkdir directory & 它会创建 & 然后切换到该目录。但是没有骰子,它没有用!

关于如何将参数插入别名的任何指示?

【问题讨论】:

标签: shell bash


【解决方案1】:

考虑将其定义为一个函数。

function mkdir2 {
  mkdir $@
  cd $@
}

您无法以这种方式将其别名为 mkdir,但它会按照您的预期进行。

【讨论】:

  • 您可以将函数命名为 mkdir,但不能递归调用:mkdir() { command mkdir $1; 1美元; }
  • 略有改进 - 引用的参数,如果 mkdir 失败,请不要尝试 cd:function mkdir { command mkdir "$@" && cd "$@"; }
猜你喜欢
  • 1970-01-01
  • 2016-10-18
  • 2011-05-02
  • 2017-06-11
  • 2015-01-29
  • 2018-03-14
  • 1970-01-01
  • 2010-10-24
  • 2010-12-21
相关资源
最近更新 更多