Version 3 (modified by mitty, 12 years ago) (diff) |
---|
- シグナルと 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'