Linux
將多個命令的輸出保存到同一個文件
例如 whoami 和日期。我可以那樣做
whoami>/home/user/folder/file date>>/home/user/folder/file
但我確信它可以在一行中完成,而無需兩次輸入路徑。我試過使用
|
但總是忽略第一個命令。
使用子外殼
(whoami; date) > ~user/directory/file
您可以通過使用 echo/printf 以及命令替換的單個重定向來完成此操作:
printf '%s\n' "$(whoami)" "$(date)" > /home/user/folder/file
IMO 這不是一個好的解決方案,它的可讀性/可管理性不是很好……特別是如果添加了更多命令。
為了避免必須多次鍵入路徑,您可以將其保存在變數中:
file=/home/user/folder/file whoami>"$file" date>>"$file"
但這也需要多次重定向。
如果您想編寫一個長腳本或命令子集並希望為它們執行單個重定向,您可以使用命令分組:
{ whoami date } > /home/user/folder/file
或者在一行:
{whoami;date;} > /home/user/folder/file