要素が1つしかない場合、中括弧は機能しません。

要素が1つしかない場合、中括弧は機能しません。

拡張子に応じてscpファイルを作成できます。

 scp sk@localhost:/home/sk/*.{txt,text} .

ただし、単一の拡張タイプをscpしようとすると失敗します。

 scp sk@localhost:/home/sk/*.{txt} .

ケース#2から中括弧を削除することでこのエラーを解決できました。

ファイル拡張子の種類のみがあるため、中かっこの使用が失敗する理由は疑問に思います。

答え1

bashを使用すると仮定すると、文書説明する:

正しい形式の中括弧の拡張には、引用符のない開かっこと閉じ括弧、および引用符のない1つ以上のカンマまたは有効なシーケンス式を含める必要があります。誤って形成された中括弧の拡張は変更されません。

したがって、{foo}これは適切に形成された中括弧拡張ではありません。

$ bash -c 'echo {foo} {foo,bar}'
{foo} foo bar

答え2

「中括弧」と呼ぶことをしばしば「中括弧」といい、使用する機能を「中括弧拡張」といいます。 Bashのマニュアルページは次のように文書化します。

   サポート拡張
       中括弧拡張は、任意の文字列を生成できるメカニズムです。
       このメカニズムはパス名拡張と似ていますが、ファイル名の生成
       もう存在する必要はありません。中かっこを拡張するパターンは、次の形式を取ります。
       オプションの序文の後に、カンマで区切られた一連の文字列が続きます。
       または、ペアの中かっことその後のオプションの文字の間のシーケンス式
       PS。プリアンブルは、各文字列に含まれるプレフィックスです。
       中かっこを使用して、各結果文字列にpsを追加します。
       左から右に展開します。

中括弧内に単一の拡張子を入れると、リストされた形式(カンマ区切り文字列または中括弧ペア間のシーケンス式)と一致しないため、中括弧拡張ではありません。したがって、拡張されず、同じままです。

関連情報