[Android]すべてのBusyboxコマンドをaliasでマッピング

1247 ワード

#  Busybox       alias    (        )
#                      busybox (       )
for applet in $(busybox 2>&1 | busybox sed '1,/Currently defined functions/d;s/ \+//g; s/\t\+//g;s/,/ /g;'); do
    busybox which $applet >/dev/null || alias "$applet"="busybox $applet"
done
unset applet

 
sedでBusyboxのすべてのappletを見つけ、whichでこのappletが利用可能かどうかを確認し、使用できない場合はこのappletをaliasでマッピングします.
最終的な効果は、viコマンドは使用できませんが、busyboxのviというappletはalias「vi」=「busybox vi」を実行します.