注:私はtcshを使います。
muttコマンドを使用して、事前に作成された本文と件名行を含むEメールを送信するエイリアスを作成しようとします。これにより、エイリアスパラメータを取得してEメールに追加します。現在私が持っている最高は次のとおりです。
alias emailattach 'echo "Message Body" | mutt -a \!:1 -s "Subject" [email protected]'
このエイリアスは何の不満もなくうまく設定されていますが、実行しようとすると次のメッセージが表示されます。
Can't stat [email protected]: No such file or directory
[email protected]: unable to attach file.
削除すると-a \!:1
エラーメッセージが表示されなくなり、エイリアスのこの部分に問題が集中していると考えられます。添付するように言うファイルはemailattach
実際に添付可能なファイル(特にPDF)なので問題になりません。
また、同じエイリアスを試しましたが、単一引用符なしで次のエラーが発生しました。
[email protected]: unable to attach file.
パイプが問題のコアであることを確認するために、次のことを試しました。
alias emailattach mutt -a \!:1 -s "Subject" [email protected]
次に、次を実行します。
echo "Message Body" | emailattach /path/to/attachment
最初にリストしたのと同じエラーメッセージ(can't stat
...)が表示されます。unable to attach file.
しかし、ちょうど実行すると、次のようになります。
echo "Message Body" | emailattach
次のエラーが発生します。
Bad ! arg selector.
私の考えでは、これは必須パラメータを入力するのを忘れたバグです。
動作しないエイリアスに何を間違って書きましたか?
答え1
alias
通話中に添付ファイルが最後に表示されるように、mutt
次のように周囲の環境を変更してみてください。
$ alias emailattach 'echo "Message Body" | mutt -s "Subject" [email protected] -a \!:1'
これは私にとってうまくいきます。