たとえば、whoamiと日付。私はそれができます
whoami>/home/user/folder/file
date>>/home/user/folder/file
しかし、パスを2回入力せずに1行で完了できると確信しています。使ってみました。
|
ただし、最初のコマンドは常に無視されます。
答え1
サブシェルの使用
(whoami; date) > ~user/directory/file
答え2
echo / printfとコマンド置換を使用して、単一のリダイレクトでこれを実行できます。
printf '%s\n' "$(whoami)" "$(date)" > /home/user/folder/file
私の考えでは、これは良い解決策ではなく、読みやすく管理するのは簡単ではありません。特に、より多くのコマンドが追加された場合はさらにそうです。
パスを複数回入力したくない場合は、パスを変数に保存できます。
file=/home/user/folder/file
whoami>"$file"
date>>"$file"
ただし、これには複数のリダイレクトが必要です。
長いスクリプトまたはコマンドのサブセットを作成し、それに対して単一のリダイレクトを実行したい場合は、コマンドのグループ化を使用できます。
{
whoami
date
} > /home/user/folder/file
または1行で:
{whoami;date;} > /home/user/folder/file