存储和调用喜爱的 bash 命令

存储和调用喜爱的 bash 命令

我正在寻找一个 Linux 命令行工具,允许我存储我的最喜欢/最常用/最难记住bash 命令并在需要时快速运行它们。

我不喜欢使用别名,因为我想避免名称冲突。alias是一个方便的事情,但这不是我正在寻找的,这是一些命令行片段库

我想要的一个例子是:

$ favorite --add hello 'echo Hello World!'
$ favorite hello
Hello World!
$ favorite --delete hello
$ favorite hello
favorite: shortcut 'hello' not defined
$ _

我想我可以自己编写这个工具(也许使用python-cliapp或者php5-cli),但如果某些东西已经存在,我宁愿不重新发明轮子。

答案1

如果您不介意缺少语法错误等错误消息,您可以使用这个简单的 bash 脚本:

#!/bin/bash

case $1 in
  --add)
    if [ -a ~/.favorites/$2 ]; then
      echo favorite: Shortcut \'$2\' already exists.
    else
      echo $3 >> ~/.favorites/$2
    fi
  ;;
  --delete)
    if [ -a ~/.favorites/$2 ]; then
      rm ~/.favorites/$2
    else
      echo favorite: Shortcut \'$2\' does not exist.
    fi
  ;;
  *)
    if [ -a ~/.favorites/$1 ]; then
      $(cat ~/.favorites/$1)
    else
      echo favorite: Shortcut \'$1\' does not exist.
    fi
esac

答案2

似乎编写脚本并将它们放入~/bin(然后放在您的 中PATH)是一种可接受的替代方法。除非您希望在按下执行命令之前能够查看和编辑命令,否则这种方法是可行的ENTER,但您上面的例子并未表明这一要求。

相关内容