これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ainsl です。
プログラム:
NAME
ainsl - AppendIfNoSuchLine
SYNOPSIS
インスル [オプション] FILE LINE [パターン]
DESCRIPTION
ファイルにこの行がまだ含まれていない場合は、ファイルの末尾に LINE を追加します。 パターンが
指定すると、ファイル内に PATTERN が見つからない場合にのみ LINE が追加されます。
ainsl は Perl で記述されているため、PATTERN で Perl の正規表現を使用できます。 もし
PATTERN が指定されていないため、FILE 内の行と一致するために代わりに LINE が使用されます。 じゃあLINEもいいかも
アンカー '^' と '$' が含まれており、これらは先頭または末尾でのみ特別に扱われます。
パターンと はラインを追加するときではなく、マッチングに使用されます。 さらに、
LINE では次の文字がエスケープされます: ( ) +
ainsl によって返される終了コードは、成功の場合は 0、エラーの場合は XNUMX 以外です。 セクションを参照してください
終了コード。
OPTIONS
-a ファイルが存在しない場合は自動作成します。
-D デバッグ出力を作成します。
-h ヘルプ、バージョン、オプションの概要を表示します。
-n アクションを出力しますが、実行はしません。
-Q パターン内のすべてのメタキャラクターを引用符で囲みます。 Perlの\Q関数を使用します。
-q パターン内のメタ文字 * と + を引用符で囲みます。
-s LINE または PATTERN 内の空白を「\s+」正規表現に変換して照合します。
-N 「$AINSL_TARGET/」が設定されている場合でも、ファイル名の前に「$AINSL_TARGET/」を付加しないでください。
-v 詳細な出力を作成します。
注意事項
変数 AINSL_TARGET が定義されている場合、その値は、
ファイル名。 これは、FAI で /target を指定せずに /target 内のファイルを変更するために使用されます。
ファイル名。
例
ainsl -v /etc/fstab '/dev/fd0 /floppy auto users,noauto 0 0'
フロッピー デバイスのエントリを次の場所に追加します。 /etc/fstab 、この行がまだ含まれていない場合。
ainsl -s /etc/exports '/srv/www @linuxhosts(async,rw) バックアップ(async,ro)'
完全に一致するスペースを含まないエクスポート エントリを追加します。
EXIT コード
0 成功: ファイルに LINE/PATTERN が含まれているか、LINE が FILE に追加されました。
13 権限ではファイルへの書き込みが許可されておらず、ファイル内に LINE/PATTERN が見つかりませんでした。
28 ファイルシステムにスペースがなく、LINE/PATTERN が書き込まれていないため、FILE を書き込むことができません
ファイルで見つかりました。
30 ファイルシステムが読み取り専用であり、LINE/PATTERN が書き込まれていないため、FILE を書き込むことができません
ファイルで見つかりました。
注意事項
これは、AppendIfNoSuchLine と同様の関数です。 CFエンジンとします。
onworks.net サービスを使用してオンラインで ainsl を使用する