1

簡単な質問。私はemacsが大好きです。私はタイピングが嫌いなので、eemacsを呼び出すために使用するのが好きです。

以前は、.bash_profile(OS X)を次のように構成していましalias e="emacs ."た。しかし、1つのファイルを編集したいだけなのに、まだemacs{file}と入力しなければならないことにうんざりしていました。

だから私はグーグルからこれをかき立てようとしました、しかしbashは:について不平を言ってい[]ます:

###smart emacs, open file, or if none, dir 
e()
{
    if [$1]; then
        emacs $1
    else
        emacs .
    fi
}

私はこれを使って次のことをしたい:e something.cまたは、ただe

4

2 に答える 2

2

試す

if [ $# -ge 1 ]; then
  emacs "$@"

bashはスペースに関して非常に独特だと思います。関数名と()の間のスペースを省略できることに驚いています。(また、$ @を使用すると、渡したすべてのファイルが開くはずです。)

e "" foo.txtETA: ..の場合、引数の数に対してより適切にチェックします。

于 2010-12-19T17:21:48.760 に答える
1
#!/bin/bash                       

###smart emacs, open file, or if none, dir
e()
{
    if [[ -z "$1" ]]; then # if "$1" is empty
        emacs .
    else
        emacs "$1"
    fi
}
于 2010-12-19T17:21:20.443 に答える