Bash:在Bash\u概要文件中重写emacs命令

Bash:在Bash\u概要文件中重写emacs命令,bash,emacs,.bash-profile,Bash,Emacs,.bash Profile,我试图在我的bash_配置文件中编写一个命令来替换默认的emacs命令,该命令将emacs一个文件(如果它存在),如果它不存在,将把一个模板复制到新文件,然后emacs该文件 我尝试的是: function emacs() { if [ ! -f ${1} ]; then \ cp /FILEPATH/template.sh ${1}; fi; builtin emacs ${1} } 但我得到的错误是“-bash:builtin:emacs:不是shell内置” 如果emacs不是内置命令,

我试图在我的bash_配置文件中编写一个命令来替换默认的emacs命令,该命令将emacs一个文件(如果它存在),如果它不存在,将把一个模板复制到新文件,然后emacs该文件

我尝试的是:

function emacs()
{
if [ ! -f ${1} ]; then \
cp /FILEPATH/template.sh ${1}; fi;
builtin emacs ${1}
}
但我得到的错误是“-bash:builtin:emacs:不是shell内置”

如果emacs不是内置命令,如何创建一个新函数来替换emacs命令,然后在该函数中调用原始的emacs命令?

(编辑:对不起,
命令emacs
在另一个答案中更好,使用它。)

内置
仅适用于实际的shell内置,如
测试
读取

改为使用emacs的显式路径:

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

您需要的是
命令emacs
,而不是
内置emacs
。请参阅
帮助命令

顺便说一句,
emacs
对新的文件模板没有某种内部支持吗?您可能需要查看以下内容:。(免责声明:我不使用
emacs
;这只是我在搜索“emacs新文件模板”时找到的第一个页面之一。)