シェルの起動
2011-02-01-2 / カテゴリ: [shell][Android] / [permlink]
% adb shelladbはSDK revision7まではtoolsの下にあったけど、revision8からはplatform-tools以下にあるので注意。(6→7だったかも知れん。うろ覚え)
エミュレータと実機、みたいに、複数のデバイスが接続されている場合は
% adb shell error: more than one device and emulatorとなってしまうので、
% adb devices List of devices attached emulator-5554 device HT********** deviceで一覧を出して、
% adb -s emulator-5554 shellと、シリアルナンバーでデバイスを指定してやる。
詳しくは
% adb -hで見れる。
なお、シェルコマンドは(sshのリモートコマンド実行の要領で)
% adb [-s serialnumber] shell [command [arg...]]で、一気に実行できる。
ちなみにシェルはsh(だよな?)。タイムマシンに乗った気分。
環境によって違うと思うけど、エミュレータ(2.2/デフォルトパラメタで作成)だと
# printenv printenv ANDROID_ROOT=/system LD_LIBRARY_PATH=/system/lib PATH=/sbin:/system/sbin:/system/bin:/system/xbin ASEC_MOUNTPOINT=/mnt/asec BOOTCLASSPATH=/system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar ANDROID_BOOTLOGO=1 ANDROID_ASSETS=/system/app EXTERNAL_STORAGE=/mnt/sdcard ANDROID_DATA=/data ANDROID_PROPERTY_WORKSPACE=9,32768 # cat /proc/cpuinfo cat /proc/cpuinfo Processor : ARM926EJ-S rev 5 (v5l) BogoMIPS : 279.34 Features : swp half thumb fastmult vfp edsp java CPU implementer : 0x41 CPU architecture: 5TEJ CPU variant : 0x0 CPU part : 0x926 CPU revision : 5 Hardware : Goldfish Revision : 0000 Serial : 0000000000000000
desireII(2.2/ドノーマル)だと
$ printenv printenv ANDROID_ROOT=/system LD_LIBRARY_PATH=/system/lib PATH=/sbin:/system/sbin:/system/bin:/system/xbin ASEC_MOUNTPOINT=/mnt/asec BOOTCLASSPATH=/system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/com.htc.framework.jar:/system/framework/com.htc.android.pimlib.jar:/system/framework/com.htc.android.easopen.jar:/system/framework/com.scalado.util.ScaladoUtil.jar ANDROID_BOOTLOGO=1 ANDROID_ASSETS=/system/app EXTERNAL_STORAGE=/mnt/sdcard ANDROID_DATA=/data ANDROID_PROPERTY_WORKSPACE=10,65536 $ cat /proc/cpuinfo cat /proc/cpuinfo Processor : ARMv7 Processor rev 2 (v7l) BogoMIPS : 162.54 Features : swp half thumb fastmult vfp edsp thumbee neon CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0x0 CPU part : 0x00f CPU revision : 2 Hardware : bravo Revision : 0083 Serial : 0000000000000000
などなど
シェルスクリプトが動かん
2008-01-21-2 / カテゴリ: [linux][shell][ubuntu] / [permlink]
6.06から7.10まで上げた場合
/bin/sh のリンク先が /bin/dash になってる。
/bin/bash に張り直すのもちょっと危険な気がするので、自前のスクリプトのshebangを#!/bin/bashに書き換えた。
Perl使いでよかった。(シェルスクリプトは少ない)
というか、もう #!/bin/sh と書く習慣がなくなってきたってことなのかな。
/bin/sh のリンク先が /bin/dash になってる。
/bin/bash に張り直すのもちょっと危険な気がするので、自前のスクリプトのshebangを#!/bin/bashに書き換えた。
Perl使いでよかった。(シェルスクリプトは少ない)
というか、もう #!/bin/sh と書く習慣がなくなってきたってことなのかな。
履歴のインクリメンタルサーチとCtrl-sによるstop
2006-09-28-2 / カテゴリ: [unix][shell] / [permlink]
zshやbashでCtrl-rすると、入力文字列をキーにしたインクリメンタルサーチができる。逆サーチ(メッセージを見る限り『^rが逆』ぽいけど^^;)はCtrl-s
でもデフォルト状態のCtrl-sは端末のstopに割り当てられているので、入出力がロックされてしまう(解除はCtrl-q)
stopを使わないのであれば、
これで、Ctrl-s/Ctrl-rでインクリメンタルサーチ可能
やっぱWinよりUNIX/Linux系の方が戯術ネタあるよなぁ。
というか、最近一番使うシェルってエクスプローラなんだよなぁ。
(いや、あまり使ってないか?)
でもデフォルト状態のCtrl-sは端末のstopに割り当てられているので、入出力がロックされてしまう(解除はCtrl-q)
% stty -a speed 38400 baud; rows 24; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = ^Z; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo -echoe -echok -echonl -noflsh -tostop -echoctl -echokeなので、端末のstopのキーバインドを変更する。
% stty stop ^x (Ctrl-xに変更)stty: invalid integer argument ... とか表示される場合はクォートで囲むか、Ctrl-vの後にアサインしたいキーコンビネーション(ハット+キーでなく、コントロールを押下しながら設定したいキー)を入力。
stopを使わないのであれば、
% stty stop undef
これで、Ctrl-s/Ctrl-rでインクリメンタルサーチ可能
やっぱWinよりUNIX/Linux系の方が戯術ネタあるよなぁ。
というか、最近一番使うシェルってエクスプローラなんだよなぁ。
(いや、あまり使ってないか?)
tar + gz + gpg で暗号化バックアップ
2006-09-28-1 / カテゴリ: [暗号][shell][command] / [permlink]
共用ファイルサーバへのファイルバックアップ、とか。
--batch で対話モードのオフ
-o FILENAME で出力ファイル名の指定
--passphrase-fd N でパスフレーズの入力ディスクリプタ指定
1年以上シェルスクリプトでコード書いてないから書式が…(汗)
参考:Symmetric key encryption by GnuPG
PASS=パスフレーズ SRC=バックアップ元 DST=バックアップ先 % echo ${PASS} | { tar zcvf - ${SRC} | gpg --batch -o {DST} --passphrase-fd 3 -c; } 3>&0
--batch で対話モードのオフ
-o FILENAME で出力ファイル名の指定
--passphrase-fd N でパスフレーズの入力ディスクリプタ指定
1年以上シェルスクリプトでコード書いてないから書式が…(汗)
参考:Symmetric key encryption by GnuPG
zsh で TAB 補完時に大文字小文字無視
2006-06-23-2 / カテゴリ: [unix][shell] / [permlink]
compctl -M 'm:{a-z}={A-Z}'でGo
Linux だとあんまり大文字使わないんだけど、windowsだと何故か割と大文字使うんだよね…
ターミナルソフトのタイトルバーにCWD(とか)を表示する
2005-09-13-2 / カテゴリ: [linux][cygwin][shell] / [permlink]
bash の場合
PROMPT_COMMAND は bash の環境変数で、bash がプロンプトを出す前に実行されるもの
Bash Prompt HOWTO
んーと、bash の PS1 とかで有効な \w とかが使えないので、ホーム以下のパスは ~ を使いたければ
追記
pwd|sed にすると、cygwin だと結構重いのでやめました。
export PROMPT_COMMAND='echo -ne "\033]0;${USERNAME}@${HOSTNAME}: ${PWD}\007"'set-language-env の設定だけど :D
PROMPT_COMMAND は bash の環境変数で、bash がプロンプトを出す前に実行されるもの
Bash Prompt HOWTO
んーと、bash の PS1 とかで有効な \w とかが使えないので、ホーム以下のパスは ~ を使いたければ
export PROMPT_COMMAND='echo -ne "\033]0;${USERNAME}@${HOSTNAME}: `pwd|sed -e s#$HOME#~#`\007"'かな。
追記
pwd|sed にすると、cygwin だと結構重いのでやめました。
zsh/tcsh で、「以外」のワイルドカード
2005-08-29-4 / カテゴリ: [unix][linux][shell] / [permlink]
'^'を入れると、指定以外のリストになる。
{} との併用は不可なのか。
bash は使えないのね…
ls ^*.pl末尾が .pl 以外のリスト
An entire glob-pattern can also be negated with `^':man tcsh(1) より
> echo *
bang crash crunch ouch
> echo ^cr*
bang ouch
Glob-patterns which do not use `?', `*', or `[]' or which
use `{}' or `~' (below) are not negated correctly.
{} との併用は不可なのか。
bash は使えないのね…
zshを使ってコマンドを指定回数連続実行
2005-04-22-2 / カテゴリ: [unix][linux][shell] / [permlink]
% zsh -c "repeat COUNT command"ベンチ計ったりするには
% time zsh -c "repeat 100 command >/dev/null"見たいな感じで
tcsh,bash,zsh(TABが補完キーのシェル)でタブ(\t)の入力
2005-03-09-2 / カテゴリ: [unix][linux][shell] / [permlink]
C-v のあと、TAB を押下する
grep なんかで \t を見つけたいとき使え
grep なんかで \t を見つけたいとき使え
zsh のエイリアスでパイプ指定
2005-03-02-5 / カテゴリ: [unix][linux][shell] / [permlink]
alias -g L='| lv' alias -g H='| head' alias -g T='| tail' alias -g W='| wc' alias -g G='| grep'これで
% command Lが
% command | lvと同じことになる
zsh の TAB 補完設定
2005-03-02-4 / カテゴリ: [unix][linux][shell] / [permlink]
compctl -c man which compctl -/ cd rmdir compctl -u su chown
zsh の最強 TAB 補完設定
2005-03-02-3 / カテゴリ: [unix][linux][shell] / [permlink]
$ autoload -U compinit $ compinitとする
やや重い
bash の TAB 補完で補完対象を特定のものにする
2005-03-02-2 / カテゴリ: [unix][linux][shell] / [permlink]
.bashrc に
complete -c {man,which} # man,which の引数は command に complete -d cd # cd の引数はディレクトリに complete -u {su,chown} # su,chown の引数はユーザ名に
zsh 履歴をインクリメンタルサーチ
2005-01-21-1 / カテゴリ: [linux][shell] / [permlink]
C-r で入力待ち、そのまま文字をタイプする。同じ文字をサーチする場合は続け
て C-r をタイプする。検索対象は入力文字の先頭からということはなく、全てが
対象。
C-r pl で、*.pl の実行履歴、みたいな。
正規表現で ^grep な検索もOK
http://www.namazu.org/~satoru/unimag/3/
bash でも使えた…
て C-r をタイプする。検索対象は入力文字の先頭からということはなく、全てが
対象。
C-r pl で、*.pl の実行履歴、みたいな。
正規表現で ^grep な検索もOK
http://www.namazu.org/~satoru/unimag/3/
bash でも使えた…
csh/tcsh ^D ログアウト制御
2004-10-19-1 / カテゴリ: [unix][linux][shell] / [permlink]
% set ignoreeof ^D でログアウトできなくする % unset ignoreeof ^D でログアウトできるようにする
Perl コマンドラインオプション -a … split モード
2004-09-13-1 / カテゴリ: [perl][shell][command] / [permlink]
$_ をスペースで区切って@Fにいれる。
シェルスクリプトで標準入力からの値入力取得
2004-08-20-1 / カテゴリ: [unix][shell] / [permlink]
read シェル変数「[Enter]おすまで停止させる」にもつかえるよ
指定複数ファイルを一気に nkf
2004-06-10-2 / カテゴリ: [linux][shell][command] / [permlink]
for i in *; do nkf -ed $i > tmp; \mv tmp $i; done
最終更新時間: 2013-05-02 16:12