新しいセッションを開くときに同じカスタム関数を評価(またはインポート)し、その機能を簡単に使用できるように、設定ファイルの1つからカスタム関数を生成する方法を探しています。
ログファイルに存在することを確認する関数を作成しようとしているため、ERROR
ログファイルを確認するときは、関数名とログファイル名のみを入力してください。今grepを使用しています。grep ERROR test.txt
しかし、このような小切手が多いので、もっと簡単にしたいと思います。だから、次の行を追加します.bashrc
。
ok(){grep ERROR $filename}
関数を使用すると入力が期待されます。ok test.txt
そして、エラー行がある場合は表示する必要があります。
ただし、.bashrc
ファイルを評価した後、エラーメッセージが表示されます。
-bash: .bashrc: line 16: syntax error: unexpected end of file
私が入力すると、ok test.txt
次のようになります。
-bash: ok: command not found
このカスタム機能を実装するのに役立つ人はいますか?または、コードを別の設定ファイルに貼り付ける必要がありますか.bashrc-profile
?
よろしくお願いします!
ベストアンサー1
シェルは{ ... }
構文の構文と空白に対して非常に面倒です。この機能を設定する方法は2つあります。
ok() { grep ERROR $filename; }
ok() {
grep ERROR $filename
}
中括弧{ .. }
と括弧に関しては( .. )
、Bash マニュアルには次の内容が記載されています。:
末尾のセミコロン(または改行文字)リスト必要です。
そして
中括弧は予約語なので、次のように使用する必要があります。リストスペースやその他のシェルメタ文字で構成されます。
リスト中かっこ内のコマンドを表し、すべて{ ... }
使用された場所に適用されますが、関数が最も一般的です。
また、ファイル名を関数の引数として渡すには、$1
そのファイル名を使用してください。つまり、ok() { grep ERROR "$1"; }
で使用できますok test.txt
。