【问题标题】:Passing input arguments to to a bash alias/function [duplicate]将输入参数传递给bash别名/函数[重复]
【发布时间】:2016-10-18 17:32:35
【问题描述】:

在 bash shell 中,进入特殊目录的命令是什么 基于两个输入参数?

我要执行的命令是这样的:

cd /home/btfoouser/mia_YOCTO/build_4/build/tmp-eglibc/deploy/images/p99/

我想将 build4p99 作为输入参数从命令行传递给 cd 命令。

例如,命令是my_cd build_4 p99,它应该被翻译成

cd /home/btfoouser/mia_YOCTO/build_4/build/tmp-eglibc/deploy/images/p99/

我试过了:

alias my_cd ='cd /home/btfoouser/mia_YOCTO/$1/build/tmp-eglibc/deploy/images/$2'

【问题讨论】:

  • 请关注此URL,它将有助于您提高内容质量

标签: bash shell ubuntu-12.04 alias


【解决方案1】:

别名不解析参数。使用函数:

my_cd() { cd "/home/btfoouser/mia_YOCTO/$1/build/tmp-eglibc/deploy/images/$2"; }

要使函数永久化,请将其放入您的 ~/.bashrc 文件中。

【讨论】:

  • 有一个让别名接受参数的肮脏技巧:alias my_cd='{ read x y; cd "/home/btfoouser/mia_YOCTO/$x/build/tmp-eglibc/deploy/images/$y"; } <<<' & 然后my_cd "dir1 dir2" 这当然不是建议,只是为了提供信息......
  • @anishsane 好邪恶的黑客!
猜你喜欢
  • 2011-05-02
  • 1970-01-01
  • 2016-03-07
  • 1970-01-01
  • 2014-01-10
  • 2021-10-05
  • 1970-01-01
  • 2013-07-09
相关资源
最近更新 更多