イントロダクション
WindowsでGit Bashを使っていて、
「このコマンド実装されてないじゃん!」
と思うことありませんか?
私の場合は、revというコマンドを使いたかったのですが、Git Bashに実装されていなくて困っていました。
ネットで調べててもなんか難しいこと書いててよくわからないし、そもそもrevがどういうパッケージやライブラリーに入っているのかもよくわからなかったです。。。
(ちなみにChocolateyとかいうやつが何やら便利らしいのですが、うまく実装できなかったので諦めました、、、)
たどり着いた対処法
いろいろ悩みながら調べた結果、
「busyboxにrevコマンドが実装されている」
ということに気が付きました。
引用:インストール不要!WindowsでLinuxコマンドを使う
busyboxというのは、**Git Bashの親戚(というかライバル?)**みたいなもので、Git Bashと同じくWindowsにLinuxを実装するためのソフトです。詳しくは後述のリンクに任せますが、非常に簡単にインストールできます!
つまり私がたどり着いた結論は、
「busyboxのrevを利用すればいい」
ということです。
以下、その手順を具体的に紹介します!
具体的な手順
①. busyboxのインストール
まず以下の記事の手順に従って、busyboxを自分のPCにインストールします。
【IT初心者向け】Windowsでbusyboxを利用できるようにする
上のリンクに従って「システム環境変数の追加」まで行えば、もうGit Bash上でrevコマンドが使えるようになっています!
②. Git Bashでrevコマンドが実行できるようになっている
実際にGit Bash上で確認してみると、今まで見れなかったrevコマンドのヘルプが見えるようになっているはずです。
以上がrevコマンドがない時の対処法となります。
お疲れ様でした!
rev以外のコマンドに関して
最後に今回の方法によって、rev以外にも利用できるようになるコマンドがどのくらいあるかを調べてみました。
その結果、busyboxで使用できる全153種類のコマンドのうち、50種類(busybox
も入れれば51種類)のコマンドがそれに該当したので、列挙します!
他にも使用できなくて困っているコマンドがあればぜひご参照ください!
[[ | ar | ash | cal | cpio |
dc | dpkg | dpkg-deb | ed | fsync |
ftpget | ftpput | hd | hexdump | httpd |
inotifyd | ipcalc | killall | lzcat | lzma |
lzop | lzopcat | man | nc | pgrep |
pidof | pipe_progress | pkill | rev | rpm |
rpm2cpio | sha3sum | sha512sum | ssl_client | strings |
su | time | ts | ttysize | unlzma |
unlzop | unxz | usleep | uudecode | uuencode |
watch | wget | whois | xz | xzcat |
※busyboxで使用できるコマンドはbusybox
で、Git Bashで使用できるコマンドはls /bin
で取得して、Git Bashでは使用できないがbusyboxでは使用できるコマンドをリストアップしたもの
最後に
本稿の内容は以上となります。いかがだったでしょうか?
とりあえずの応急処置的な内容ですが、お役に立てば幸いです。
もっと簡単で汎用性のある方法がわかれば(chocolateyの実装方法など)改めて紹介できればと思います!🙇♂️