シェル組み込みコマンドを具体的に実行する方法

シェル組み込みコマンドを具体的に実行する方法

現在のシェルで次のコマンドを実行するか、そのコマンドを入力している状況を考えてください.bashrc

alias source='echo hi'
alias .='echo hi'
alias unalias='echo hi'

またはfunction source(){ echo hi; }待ってください。

バイナリコマンドでは、次の絶対パスを使用できます。/bin/lsしかし、現在のシェルでこれらのシェル組み込みコマンドを具体的に実行するには?

ベストアンサー1

Bashには次のコマンドがありますbuiltin

builtin: builtin [shell-builtin [arg ...]]
Execute shell builtins.

Execute SHELL-BUILTIN with arguments ARGs without performing command
lookup.  

例えば

$ cat > hello.sh
echo hello
$ source() { echo x ; }
$ source hello.sh
x
$ builtin source hello.sh
hello

builtinしかし、書き換えに邪魔になることはありません。

関数ではなくエイリアスを解決する別の方法は、単語(部分)を引用することです。

$ alias source="echo x"
$ source hello.sh 
x hello.sh
$ \source hello.sh
hello

おすすめ記事