平成30/ 2018-12-10 16:40
LINUX/ command /2016.10.5


////////////////////////////////////// dateなど、コマンドは下記のように、ダブルクォーテーションで囲まないと機能しない(シングルクォーテーションじゃダメ)

export LANG=C; grep "`date '+ \%b \%d \%H:\%M:' -d '1 minutes ago'`" /var/log/httpd/siiz.biz/error_log | /bin/mail -E -s "`echo "$(hostname): debug" | tr "[:lower:]" "[:upper:]"`" "hoge@zz.jp" > /dev/null 2>&1


////////////////////////////////////// 1分前のエラーログをメールで報告する

export LANG=C; grep "`date '+ \%b \%d \%H:\%M:' -d '1 minutes ago'`" /var/log/httpd/siiz.biz/error_log | /bin/mail -E -s "`echo "$(hostname): debug" | tr "[:lower:]" "[:upper:]"`" "hoge@zz.jp" > /dev/null 2>&1

dateは、上記のように、ダブルクォーテーションで囲まないと機能しない(シングルクォーテーションじゃダメ)
----
「 -E 」オプションが無いと、出力が無い場合にメールが飛んでしまう。
----
/dev/null 2>&1 が無いと「 Null message body; hope that's ok 」が出力されたのだが「 -E 」オプションつければ出ないかも。




///////////////////////////////////////
|| でつなげる場合。
コマンド1 || コマンド2
コマンド1が異常終了ならコマンド2を実行

&& でつなげる場合。
コマンド1 && コマンド2
コマンド1が正常終了ならコマンド2を実行

; でつなげる場合。
コマンド1; コマンド2
コマンド1を終了したら、結果に関わらずコマンド2を実行

| でつなげる。
コマンド1 | コマンド2
言わずと知れたパイプ処理. コマンド1の出力をコマンド2の入力として実行.


"[ 条件式 ]"の利用
以下のように、シェルスクリプトのif文で用いる "[ 条件式 ]" を利用した書き方も可能です.
$> [ -f hello.txt ] || echo "Hello!" > hello.txt
$> [ -f hello.txt ] && rm -f hello.txt
[ -f hello.txt ] は "hello.txtがファイルである"->真. ファイルでない/存在しない->偽.




#### 改行
find ...... | xargs grep .. | \
sed .......
// 上記のように、\(円マーク)でコマンドを改行して続きを記述できる。


#### カーソル移動(行頭)
Ctrl + a

#### カーソル移動(行末)
Ctrl + e


(Thanks.)
bashでしょうか?行末で「¥」(半角です)を入力してみてください。
http://sooda.jp/qa/183311

コマンドラインはショートカットキーで。
http://masasuzu.hatenablog.jp/entry/20111201/1322745282

シェルコマンド1行で複数コマンドや条件に応じた実行をする
http://qiita.com/wwwaltz/items/9ee247ee8fe3ab63fd27