
예를 들어 whoami 및 날짜. 나는 그걸 할 수있어
whoami>/home/user/folder/file
date>>/home/user/folder/file
하지만 경로를 두 번 입력하지 않고도 한 줄로 완료할 수 있다고 확신합니다. 나는 사용해 보았습니다.
|
그러나 첫 번째 명령은 항상 무시됩니다.
답변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
또는 한 줄로:
{whoami;date;} > /home/user/folder/file