シェル関数名に特殊文字を使用できますか?

シェル関数名に特殊文字を使用できますか?

シェルスクリプトから関数を生成する必要があり、関数名に特殊文字を含める必要があります。良い

     >()
      {
       echo $1 $2
      }

ここで私の関数名は、可能であれば上記のようにどのように>提供できますか?試しましたが、エラーが発生しました。

ベストアンサー1

ほとんどのシェルは関数名を引用符を必要としない文字に限定します>

関数名として受け入れるいくつかのシェルでも>(zshだけを知っています)呼び出された関数を定義することは、>コマンドで呼び出される場合にのみ機能します>(引用符が必要です。つまり\>orまたは">"実行'>')。リダイレクトの仕組みは変わりません。

汎用シェルには、スクリプトの後続部分がリダイレクトを実行したときに発生する状況を構成する機能はありません。この種の機能が必要な場合、シェルは十分に柔軟な言語ではありません。しかし、より良い解決策があるかもしれません。どんな問題を解決したいのか- おそらくシェルスクリプトでこの問題を解決することは可能でしょう。

おすすめ記事