スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android 端末エミュレータ

いつも無駄に長い記事ばかりなので、今日は思いっきり短く書こうと思う!w
(※いきなりだけど、ごめんなさい、無理だった。。。www

今日、端末エミュレータでbusyboxを使おうとしたら、パスが通っていない。。。
自分はbuxyboxを、/sbin に突っ込んであるので、 /sbin にPATHが通っていないと、いちいち移動してから./busyboxとか入れないといけない。
それに、PATHを通すって言っても、毎回

export PATH=$PATH:/sbin

なんてかったるいので、端末エミュレータの設定で、起動時にPATHを通してもらうことにした。

端末エミュレーターを起動>menuボタン>その他>設定>初期コマンド

これで端末エミュレータを起動した時に自動でPATHを通してもらおうと言うわけ。 出てきた入力欄に、

export PATH=$PATH:/data/local/bin:/data/local:/sbin

って記入してOKボタンを押す。

/data/local/binは最初から入っていたので、/data/local:/sbinを追加した。
別に、/data/localはいらなかったけど、追加しておいて損はしなさそうな気がしたのでw

これで次回端末エミュレータ起動時にはPATHが通っていて、 /sbinに入っているbusyboxを自由に使うことが出来るってわけだ。。。

/data/localとか/sbinに、busyboxを使うシェルスクリプトが入っていて、busyboxにPATHが通っていないと使えないのも、これで使えるようになる。

例えば、/data/localに”myshellscript”って言うbusyboxを使うシェルスクリプトがあるとして、

cd /data/local
./myshellscript

ってやったのに、”busyboxが見つからない”ってエラーが出たりするのが、myshellscriptが入っている/data/localと、busyboxが入っている/sbinにPATHが通っているので、

myshellscript

だけで動くはず。
まあ、例えばの話ね。。。


あ、あと、上のexport PATH=$PATH〜の説明だけど、ちょっとLinuxコマンドのお勉強を。。。w

export PATH=〜

って言うコマンドは、”=”の後ろのPATHを端末エミュレータ自体に覚えさせて、そのPATHをいちいち打たなくても中に入っているファイル等の名前を打つだけで使えるようにするよと言うモノ(場所を記憶させておくPATHって言う変数に代入しろと言う命令)。
PATHを通すって言う行為

それで、

export PATH=$PATH:〜

ってやつの、”$PATH”ってのは、今現在覚えているPATHの事(変数PATHの中身)。
ついでに、”$PATH”の後ろの”:”は、それで区切れば、いろんなPATHを連続で入れられるよと言うモノ。

だから、

export PATH=$PATH:/data/local/bin:/data/local:/sbin

で、”現在覚えているPATHに、/data/local/binと/data/localと/sbinを追加して覚えろ”って事になる。

echo $PATH

って打ったら、今覚えているPATHが出てくるので確認してみるといいと思う。

ただし、この”export”で代入した値は、端末エミュレータを終了した時点で忘れ去られてしまうので、 上の方でやった、”初期コマンド”ってので対応するって事。

あとで、「あ〜、あのPATHも入れておけば良かった〜!でも、今回しか必要ないんだけど。。。」
なんて時には、

export PATH=$PATH:/data/local/abc

とかしてやれば、上で代入したPATHに更に追加できる。


そんなわけで、、、短く書くって言いながら、また長くなってしまったのでしたwww


※重要なことを書くのを忘れてたw

環境変数PATHには優先順位ってものがある。
例えば、PATHが通っている、/sbinと/system/binってディレクトリに、内容の違う同名ファイルが入っているとする。
またまた例えば、そのファイル名を”aheahe”って言うファイル名だとすると、

echo $PATH

で出てくる順番に探して行って、最初に見つかったコマンドや実行ファイルを使うってことになるので、

echo $PATH
/sbin:/system/bin

aheahe

ってやったとすると、/sbinに入っているaheaheが実行されるって事。

だから、上で通したPATHも、

export PATH=/data/local/bin:/data/local:/sbin:$PATH

ってやったりすると、最初から入っているPATHより、後から自分が入れたPATHの方が優先順位が上がるってことになる。
同名ファイルやコマンドを扱いたい時は、そこら辺を注意してやるといいかなって思う。

この後書き、間違っていたらごめんなさい。
自分の中ではそういう認識でいますw

スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

tozionsdoor

Author:tozionsdoor
ただ書くだけ。スクショとか取るの面倒。貼るのも面倒w

検索フォーム
FC2カウンター
最新記事 5件
最新コメント
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。