更新履歴Blog

日記

スポンサーサイト

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

文字列の中に、特定の文字列が存在するか調べる

string str = "100.0";
//	strの文字列に「.」の文字列が含まれるかチェック
if( str.Contains("."))
	Console.WriteLine("あり");	//  strの中に「.」があるのでこっちを通る
else
	Console.WriteLine("なし");
スポンサーサイト

キーボード設定(Ubuntu 14.04LTS)

  • キーボードで『 _ 』アンダーバーが入力できずに困っていたが解決できた。
    英字キーボードを利用しているのに、設定が日本語キーボードになっていたのが原因。

  • 上段にあるキーボードのアイコンをクリックすると出てくるプルダウンメニューにある設定をクリック
    201606201449.png

  • 「入力メソッドの設定」ダイアログが開くので、下段にある「+」から対応するキーボードを追加して「^」キーで最上段まで移動させる
    201606201455.png


HOMEアプリを作成する

起動時、ホームボタンを押した時に起動するアプリの作成手順。
マニフェストを少し修正するだけで、アプリをホームアプリにできる。

デフォルト(AndroidManifest.xml)
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

ホームアプリ(AndroidManifest.xml)
        </activity android:name=".MainActivity">
            </intent-filter>
                </action android:name="android.intent.action.MAIN" />

                </category android:name="android.intent.category.DEFAULT" />
                </category android:name="android.intent.category.HOME" />
            <//intent-filter>
        <//activity>

インストールしてもホームボタンを押さないと起動しない。
デフォルトでhomeアプリはインストールされているので、ホームボタンを押した時にランチャーから起動ができる。

201606071603.png
常時に設定してしまうと、常に表示される状態になってしまう為、この場合はadbでコマンドからアンインストールするとよい。

Ubuntuでrootユーザになる方法

Ubuntuでルート権限でコマンドを実行したい場合は「sudo」を頭に付けて実行する。
sudoを使えばroot権限で実行できるので、rootになりたい機会はあまりない。
Ubuntuでルートになるには以下のコマンドでrootになれる。
$sudo su -

dmesgコマンド

dmesg

起動時にカーネルが出力したログを表示するコマンド

iノード

iNode(iノード)

  • ファイル、ディレクトリが持っている番号の事。
    この番号は重複しない。

  • iNodeは作成された時に自動で割り振られる。
    割り振られたiNode番号は「ls -i」コマンドで確認できる

    ファイルtest.txtを作成する
    $ touch test.txt
    
    「ls -i」コマンドでiNode番号を確認する
    $ ls -i
    12345 test.txt
    
    ファイル名の左に表示される番号がiNode番号

  • 割り振れるノードには上限があり、使用している数は「df -i」コマンドで確認できる
    $ df -i
    
    201605271732.png
    • Inodes … iNodeの総数
    • IUsed … 使用しているiNodeの数
    • IFree … 使用していないiNodeの数
    • IUse% … 使用しているiNodeの割合

killallコマンド

killall

プロセスにプロセス名指定でシグナルを送信する
プロセスIDで指定したい場合はkillコマンドの方を利用する
同じプロセス名のプロセスが複数あれば、その全てに送信できる。

  • abcdeというプロセス名のプロセスに終了シグナルを送信する例
    • $ killall -SIGTERM abcde
    • $ killall -15 abcde
    上記はどちらも同じ動作となる。

    プロセス名は「ps -ef」コマンドなどで調べる

killコマンド

kill

プロセスにシグナルを送信するコマンド

  • プロセスID「12345」のプロセスを終了させる例
    • $ kill 12345
    • $ kill -15 12345
    • $ kill -s SIGTERM 12345

    上記3つどれでも動作は同じ。

    ・プロセスIDを調べるには「ps」コマンドなどで確認できる。
    ・プロセスはSIGTERMシグナルを受け取ると終了する。このコマンドはプロセスにSIGTERMを送信するコマンド。
    ・プロセスに遅れるシグナルは「kill -l」コマンドで確認できる。

  • 体表的なシグナル
    • SIGINT ・・・ 「Ctrl」+「C」と同じ(キーボードによるプロセス終了)
    • SIGKILL ・・・ 強制終了
    • SIGTSTP・・・「Ctrl」+「Z」と同じ(キーボードによるプロセス一時停止)

seqコマンド

seq

終了値になるまで加算して表示する

  • 構文
    1. seq 終了値
      終了値になるまで1ずつ加算されて表示される
      実行例
      $seq 5
      1
      2
      3
      4
      5
      

    2. seq 初期値 終了値
      初期値を設定したい場合
      実行例
      $ seq 2 5
      2
      3
      4
      5
      

    3. seq 初期値 増分 終了値
      加算される値を設定したい場合
      実行例
      $ seq 0 10
      0
      2
      4
      6
      8
      10
      

  • for文のループカウントでの利用例

    サンプルコード
    #!/bin/bash
    echo START
    
    for i in `seq 10`;
    do
        echo $i
    done
    
    echo END
    
    実行結果
    START
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    END
    
    

シェルスクリプトで四則演算

加算、減算、乗算、除算をするにはletを使う


サンプルコード
#!/bin/bash
echo START

aa=20
bb=10
echo $aa
echo $bb

let answer=aa+bb
echo $answer

let answer=aa-bb
echo $answer

let answer=aa*bb
echo $answer

let answer=aa/bb
echo $answer

echo END
出力結果
START
20
10
30
10
200
2
END
続きを読む

シェルスクリプト条件式

条件式と書式
[]で囲む形式と、testの2種類の書き方がある

整数の比較
整数A -eq 整数BAとBが等しければ真
整数A -ne 整数BAとBが等しくなければ真
整数A -ge 整数BA>=Bなら真
整数A -gt 整数BA>Bなら真
整数A -le 整数BA<=Bなら真
整数A -lt 整数BA<Bなら真

if [ 整数A 条件式 整数B ]; then
    真だった時の処理
fi
if test 整数A 条件式 整数B; then
    真だった時の処理
fi
while [ 整数A 条件式 整数B ]
do
   処理
done

文字列の比較
文字列A = 文字列BAとBが等しければ真
文字列A != 文字列BAとBが等しくなければ真

if [ 文字列A 条件式 文字列B ]; then
    真だった時の処理
fi
if test 文字列A 条件式 文字列B; then
    真だった時の処理
fi

ファイルの比較
-d ファイル名ファイルがディレクトリなら真
-e ファイル名ファイルが存在すれば真
-f ファイル名ファイルが存在して通常ファイルなら真
-x ファイル名ファイルが存在して実行ファイルなら真

if [ 条件式 ファイル名]; then
    真だった時の処理
fi
if test 条件式 ファイル名; then
    真だった時の処理
fi

シェルスクリプトの引数

シェルスクリプトに引数を渡す使い方サンプル

  1. test.shを作成
    #!/bin/bash
    echo START
    echo $0
    echo $1
    echo $2
    echo END
    

  2. test.shに実行権限を付ける
    $ chmod 700 test.sh
    
    シェルスクリプトはインタプリタなので実行するには、読み込み権限(4)も必要なので、実行権限(1)と合わせて(5)を指定がある。
    スクリプトは編集したい時もあるので書き込み権限(2)をつけてここでは7を指定している。

  3. 引数を2つ(「111」と「222」)指定してtest.shを実行する
    $ ./test.sh 111 222
    

  4. 実行結果 201605241516.png
    引数のアクセスには変数「$0」、「$1」、「$2」・・・でアクセスできる。
    「$0」の変数はは実行したコマンドが入る。

コマンドに別名をつける

alias コマンドに別名(エイリアス)を付けるコマンド
オプションなどを付けると長くなってしまう時など、短縮した別名(エイリアス)を付けて利用する事が可能。

  • コマンド「ls -la」に「ls」の別名(エイリアス)を付ける例
    $ alias ls='ls -la'
    

  • 設定したエイリアスを確認するには引数なしでaliasコマンドを実行する
    $ alias
    
    alias ls='ls -la'
    

  • 一時的にエイリアスを解除したい場合は、先頭に「\」バックスラッシュを付ける
    $ \ls
    

functionコマンド

function

シェルに関数を登録する

  • functionコマンドを使うとシェルに関数を登録できる
    $ function zzz(){ echo ZZZZZZ;}
    

  • 登録した関数はsetコマンドで確認できる
    $ set
    
    201605201901.png

    declareコマンドでも確認でき、-fオプションで関数のみ確認できる。
    $ declare -f
    

  • 登録した関数はシェルからコマンドと同じように実行できる。
    $ zzz
    
    201605201911.png


コマンドの結果出力をシェル変数に代入する

  • コマンドを$()で囲んで実行(以下の書式で実行)すると、出力結果をシェル変数に格納できる
    [シェル変数]=$([コマンド])
    

  • シェル変数ABCにlsコマンドの出力を格納
    $ ABC=$(ls)
    

  • シェル変数$ABCを出力
    $ echo $ABC
    

  • ()の変わりにバッククォートで囲っても同じ事が可能

次のページ

FC2Ad

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