0

ファイルが存在する場合はファイルを emacs し、存在しない場合はテンプレートを新しいファイルにコピーしてからそれを emacs するデフォルトの emacs コマンドを置き換えるコマンドを bash_profile に書き込もうとしています。

私が試みたのは:

function emacs()
{
if [ ! -f ${1} ]; then \
cp /FILEPATH/template.sh ${1}; fi;
builtin emacs ${1}
}

しかし、私が得ているエラーは「-bash: builtin: emacs: not a shell builtin」です

emacs コマンドを置き換える新しい関数を作成し、emacs が組み込みコマンドでない場合、その関数内で元の emacs コマンドを呼び出すにはどうすればよいですか?

4

2 に答える 2

1

あなたがしたいcommand emacs、ではありませんbuiltin emacs。を参照してくださいhelp command

余談ですがemacs、新しいファイルのテンプレートに対する何らかの内部サポートはありませんか? http://www.emacswiki.org/emacs/TemplatesModeをご覧ください。(免責事項: は使用しませんemacs。これは、「emacs new file template」を検索しているときに最初に見つけたページの 1 つにすぎません。)

于 2013-02-07T15:17:48.023 に答える
0

(編集:申し訳ありませんcommand emacsが、他の答えの方が良いので、それを使用してください。)

builtintestread、 ...などの実際のシェル組み込みでのみ機能します

代わりに emacs への明示的なパスを使用します。

function emacs()
{
if [ ! -f ${1} ]; then \
cp /FILEPATH/template.sh ${1}; fi;
/usr/bin/emacs ${1}
}
于 2013-02-07T15:17:09.787 に答える