Version 8 (modified by mitty, 8 years ago) (diff) |
---|
- getopts, getopt
- シグナルと trap コマンド - UNIX & Linux コマンド・シェルスクリプト リファレンス
trap コマンドの応用 2
- trap_exit.sh
#!/bin/bash # EXITシグナルをtrapして終了メッセージを指定する。 trap "echo '`basename $0`を終了します.'" EXIT # 他のシグナルもtrapしておく。 trap "echo '他のシグナルをtrapしました。'" 1 2 3 15 # Ctrl+Cで終了するテストのためにsleepしておく。 sleep 10 exit 0
$ ./trap_exit.sh trap_exit.shを終了します. ※↑終了時に EXIT シグナルを trap したメッセージが表示されている。 $ ./trap_exit.sh ※ ここで Ctrl+c を押す。 他のシグナルをtrapしました。 trap_exit.shを終了します. ※↑INT シグナルで終了した場合も EXIT シグナルは trap できる。
- trap_exit.sh
- bash - How to use > in an xargs command? - Stack Overflow
- {} の使い方の例(?)
- ディレクトリだけを見つける
- $ find -exec sh -c '[ -d "$1" ] && echo "$1"' -- {} \;
. ./.ssh ./.cache ./.aptitude ./.debtags ./.screen ./public_html ...
- $ find -exec sh -c '[ -d "$1" ] && echo "$1"' -- {} \;
- シンボリックリンクを見つける
- $ find /etc/apache2/ -exec sh -c '[ -L "$1" ] && echo "$1"' -- {} \;
/etc/apache2/mods-enabled/alias.conf /etc/apache2/mods-enabled/alias.load /etc/apache2/mods-enabled/autoindex.conf /etc/apache2/mods-enabled/autoindex.load /etc/apache2/mods-enabled/dir.conf /etc/apache2/mods-enabled/dir.load ...
- $ find /etc/apache2/ -exec sh -c '[ -L "$1" ] && echo "$1"' -- {} \;
- bash - linux GNU sort: how to use NULL (\0) as delimiter - Stack Overflow
-t is the field separator. If you want to use \0 as the line separator then you need to use -z.
Use the -z option to sort zero-terminated data sets:
find ./ -maxdepth 1 -type d -iname 'xyz?' -print0 | sort -z | tr '\0' '\n'
- Big Sky :: findとxargsは便利だけど意外と実行したい処理はsortした結果だったりする場合が多い
find . -name "*.txt" | grep '/[0-9]¥{8¥}¥.txt' | sort -n | tr ¥¥n ¥¥0 | xargs -0 ...
- shとbashでの変数内の文字列置換など - ろば電子が詰まっている
${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)