jqコマンドをsudoを使わずにインストールし、PATHを通す方法
JSONデータをコマンドラインでフィルター出来るjqコマンド、便利ですよね。
割と新しいepelリポジトリであれば、yum -y install jq
で使えるようになります。
しかし次のようなケースでは大抵フルパスでバイナリを指定するのではないでしょうか。
- root権限はないが、jqコマンドが使いたい
- PATHの設定を変更する操作は避けたい
しかし今回紹介する方法を使うと、とても簡単にPATHが通る状態にできます。
環境
- CentOS 6.6 64bit版
インストール方法
ユーザのホームディレクトリ以下にbin
ディレクトリを作り、バイナリを放り込むのみ。
$ mkdir ~/bin $ wget http://stedolan.github.io/jq/download/linux64/jq -O ~/bin/jq $ chmod +x ~/bin/jq
jqコマンドの在処を確認すると、この通り認識されています。
$ which jq ~/bin/jq
からくり
CentOS6では、bash_profile に次の内容が書かれているため、ホーム以下にbin/
ディレクトリを作りバイナリを設置すると、自然とパスが通った状態となります。
ユーザ名がadminなら/home/admin/bin/
という具合です。
$ cat ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH