タグ

2022年8月24日のブックマーク (4件)

  • 【 次の繰り返しに移る「continue」 】

    continueは繰り返し処理の途中で,それ以降の処理を行わず次の繰り返し処理に移りたい場合に利用する。たとえば,以下のようなシェル・スクリプト「chmod_write.sh」があったとする。 #!/bin/sh for t_file in "$@" do if [ ! -f $t_file ] then echo "Not such file : $t_file" continue fi chmod u+w $t_file echo "Changed mode : $t_file" done このスクリプトは,引数として与えたファイルのパーミッションに書き込み権限を設定する。ただし,指定したファイルが通常ファイルでなかったり,存在しなかった場合は,エラー・メッセージを表示し,continueで次に繰り返し処理に移る。breakとは異なり,繰り返しの対象が残っていたり,条件を満たさない場合

    【 次の繰り返しに移る「continue」 】
    bayan
    bayan 2022/08/24
  • シェルで変数の空文字判定 | クロジカ

    以下を使用すると変数の文字が空じゃないときのみ処理を行えます。 逆の場合はelseで対応するか、-zにすることで出来ます。 空じゃないときのみ if [ -n "$STRING" ]; then #処理 fi 空のときのみ if [ -z "$STRING" ]; then #処理 fi

    シェルで変数の空文字判定 | クロジカ
    bayan
    bayan 2022/08/24
  • Bashのif文でANDやOR条件、&&や||演算子を使う

    Bashで使える演算子には && (AND演算子) と || (OR演算子) があります。 使い方は if [ … ] && [ … ] です。 また、testコマンドの引数では -a (AND条件) と -o (OR条件) が使えます。 [ ] はtestコマンドの糖衣構文なので、if [ 条件1 -a 条件2 ] のように書くことができます。 まとめると以下のようになります。 演算子 && (AND演算子) : if [ 条件1 ] && [ 条件2 ] || (OR条件) : if [ 条件1 ] || [ 条件2 ] testコマンドの引数 -a (AND条件) : if [ 条件1 -a 条件2 ] -o (OR条件) : if [ 条件1 -o 条件2 ] 上記の引数と演算子を組み合わせることで複雑な条件文を書くことができるようになります。 if [ "$1" = "-h" -

    Bashのif文でANDやOR条件、&&や||演算子を使う
    bayan
    bayan 2022/08/24
  • scpやrsyncを使ったサーバー間のファイル転送

    scpを使ったサーバー間のファイル転送とrsyncを使ったファイル転送のコマンドのメモ。 scpコマンドを使ったファイル転送 -r はディレクトリ全体をコピーするため、-p はパーミッションを引き継ぐため、の引数。 所有者は引き継げないらしい。 scp -rp /var/www/html/localdirectory username@remotehost.com:/var/www/html username@remotehost.com's password:password rsyncコマンドを使ったファイル転送 -r はディレクトリ全体をコピーするため、-a はパーミッションやグループや所有者などの情報を引き継ぐため、の引数。 rsync -ra /var/www/html/localdirectory username@remotehost.com:/var/www/html us

    bayan
    bayan 2022/08/24
    いつも忘れる -r と -p