【问题标题】:Make A File-Specific Bash Alias制作特定于文件的 Bash 别名
【发布时间】:2020-07-01 18:00:01
【问题描述】:

我在 Mac 上,最近发现了 bash 别名。以下面这个为例:

# Python shortcut
alias c.py="touch template.py && open template.py"

它会创建一个 python 文件,然后立即打开它。我认为这是一个有用的工具,但我想稍微改进一下。每次运行时,它都会创建一个名为“template.py”的文件,这很好,因为我可以将它保存为不同的名称,但是我希望能够在命令本身中指定名称。例如,类似:

alias c.py(filename)="touch filename.py && open filename.py" 

我怎么能这样做?提前致谢。

【问题讨论】:

  • open 只是将文件(一旦存在)传递给您指定的编辑器。你的编辑是什么?为什么不直接使用它? vi some.py 很简单...

标签: python bash macos shell


【解决方案1】:

你想要一个函数,而不是别名。

editpy () {
  touch "$1.py" && open "$1.py"
}

然后你可以运行editpy templateeditpy newfile 或任何你想要的。 $1 将扩展为调用函数的第一个参数。

【讨论】:

    【解决方案2】:

    将其定义为一个函数和该函数的别名。 在函数中使用$1 访问“第一个参数”

    function c.py() {
      touch $1.py
      open $1.py
    }
    
    alias c.py=c.py
    

    【讨论】:

    • 有一个与函数同名的alias 有什么意义?
    • 我只是在展示它是可能的。所以函数可以任意命名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2015-07-09
    • 2017-05-09
    • 1970-01-01
    • 2011-10-31
    相关资源
    最近更新 更多