1. ホーム
  2. bash

[解決済み] ドルのある二重括弧とドルのない二重括弧

2023-02-24 09:39:24

質問

質問 $(...) と同じで (...) と同じですか?

また $((...)) と同じなのでしょうか? ((...)) ?

また ${...} と同じなのでしょうか? {...} ?

より一般的には、ドル記号は何を意味するのでしょうか?ありがとうございました。

どのように解決するのですか?

  • $(...) は、括弧内のコマンドをサブシェルで実行し、その標準出力を返すことを意味する。 例

    $ echo "The current date is $(date)"
    The current date is Mon Jul  6 14:27:59 PDT 2015
    
    
  • (...) は、サブシェルで括弧内にリストされたコマンドを実行することを意味する。 例

    $ a=1; (a=2; echo "inside: a=$a"); echo "outside: a=$a"
    inside: a=2
    outside: a=1
    
    
  • $((...)) は、算術演算を行い、その結果を返すことを意味します。 例

    $ a=$((2+3)); echo "a=$a"
    a=5
    
    
  • ((...)) は、演算を行い、場合によってはシェル変数の値を変更しますが、 その結果を返しません。 例

    $ ((a=2+3)); echo "a=$a"
    a=5
    
    
  • ${...} は、中括弧の中で名付けられたシェル変数の値を返すことを意味します。 例

    $ echo ${SHELL}
    /bin/bash
    
    
  • {...} は、中括弧の中のコマンドをグループとして実行することを意味する。 例

    $ false || { echo "We failed"; exit 1; }
    We failed
    
    

より一般的には、ドル記号は何を意味するのでしょうか?

与えられた文脈の中で、それが意味するものは何でも意味します。