ShellScript? 概要 †
疑問 †
問題集 †
DQ, SQ, 何もなしの違い †
A=test B=$A echo hoge # Bに"test"が入って、hogeが標準出力 B="$A echo hoge" # Bに"test echo hoge"が入る B='$A echo hoge' # Bに"$A echo hoge"が入る 並列実行 †# -a - でパイプから入力を受け取る $ ls * | parallel -a - --dry-run echo echo a echo b # {} で場所を指定できる $ ls * | parallel -a - --dry-run echo {} end echo a end echo b end # アトミックな処理をしたいなら '' で囲む。というか基本的には囲んだほうがいい $ ls * | parallel -a - --dry-run 'echo {} 1; echo {} 2' echo a 1; echo a 2 echo b 1; echo b 2 echo test.xt 1; echo test.xt 2 echo x.txt 1; echo x.txt 2 # {.} で basename が取れる。test.sh なら test $ echo test.sh | parallel -a - --dry-run echo {.} sh -c echo test # zip の例 $ ls *.zip | parallel -a - --dry-run 'mkdir {.}; unzip {} -d {.}; rm {}' Tips †
|