Bash 関数名のハイフン

Bash 関数名のハイフン

書き込みbash機能。関数名にハイフンを含めることができるようです-

したがって、indus-headrc ()そしてindus-tailrc ()。下線だけが許されると思いました。

ベストアンサー1

Bashの一般的な誤解は、関数名が変数と同じ規則に従う必要があることです。 Bashのマニュアルでは、以下をお勧めします。

文字、数字、下線のみで構成され、文字または下線で始まる単語です。名前はシェル変数と関数名として使用されます。識別子とも呼ばれます。

実際、Bash関数名は印刷可能なほぼすべての文字にすることができます。たとえば、事前増分単項関数を定義できます。

function ++ { (( $1++ )); }

もちろん、正気な人なら誰でもまだ彼のアドバイスに従うでしょう。標準関数の命名


POSIX-ly()を作成しようとすると、#!/bin/shハイフンとエラーは許可されません。

構文エラー:無効な関数名


結論として

だから私に尋ねるなら:

  1. 非標準文字を含めることはできますか?はい。

  2. それでは、使用する必要がありますか?絶対にしないでください!移植性が損なわれる可能性があるため、非標準名を使用しないでください。 POSIXに従うことは良い習慣を養うための良い方法です。

おすすめ記事