任意の構文で何かを行うことはできません。括弧はメタ文字です これらはパーサーにとって特別な意味を持つため、有効な名前として使用する方法はありません .シェルを拡張する最善の方法は、関数を定義することです。
 これは基本的な echo になります 常に同じファイルに書き込むラッパー:
f() {
    echo "[email protected]"
} >a.txt
 
 これはほぼ同じですが、さらに stdin を処理します - echo's を犠牲にします -e と -n オプション:
f() {
    [[ ${1+_} || ! -t 0 ]] && printf '%s\n' "${*-$(</dev/fd/0)}"
} >a.txt
 として呼び出すことができます
f arg1 arg2...
 または
f <file
 関数には、他のコマンドと同じ方法で引数が渡されます。
2 番目のエコーに似たラッパーは、最初の引数が設定されているか、非 tty からの stdin を最初にテストし、条件付きで、設定されている場合は位置パラメータまたは stdin を使用して printf を呼び出します。テスト式は、引数がゼロで、ファイルからのリダイレクトがない場合を回避します。この場合、Bash はターミナルの出力を展開しようとし、シェルをハングさせます。
 はい、あなただけが F sth で呼び出す必要があります :
F()
{
  echo "$1" > a.txt
}
 詳細はこちら
F () {
  echo "$1" > a.txt
}
 呼び出すときに括弧を使用しません。これはあなたがそれをどのように呼ぶかです:
F "text to save"
 
            crontab ファイルを変更した後に cron を再起動しますか?         
            Java が 'localhost:10.0' を DISPLAY 変数の値として使用して X11 ウィンドウ サーバーに接続できない