"at" 지연 명령의 출력을 파일로 파이프

"at" 지연 명령의 출력을 파일로 파이프

몇 분 후에 파일에 추가하고 싶습니다.

나는 순진하게도 이렇게 할 수 있다고 생각했습니다.

echo "hello world" >> /tmp/foo.txt | at NOW + 1 MINUTE

그러나 이는 즉시 파일에 추가됩니다.

나는 시도했다:

echo "hello world" | at NOW + 1 MINUTE >> /tmp/foo.txt

그러나 이것은 전혀 출력을 작성하지 않습니다.

나는 내가 할 수 있는 일을 안다:

$ at NOW + 1 MINUTE
warning: commands will be executed using /bin/sh
at> echo "HElllo world" >> /tmp/foo.txt
at>
at> <EOT>
job 11 at Wed Feb 17 17:58:00 2021

그러나 그것은 "속임수"처럼 느껴집니다.

구분자를 사용하지 않고 원하는 것을 어떻게 표현하나요?

답변1

성공적인 명령의 STDOUT을 리디렉션하는 at것은 원하는 것이 아닙니다.

"" 를 수행하는 "at" 작업을 생성하려면 echo "Hello, world"백슬래시( \)를 사용하여 다음 문자가 서로 다른 특수성을 갖게 합니다(문자가 특수한 경우 특수하지 않은 것으로 처리되거나 특수하지 않은 경우). , 특별하게 취급됩니다).

at수행 하다

echo "Hello, world"

이 명령을 에 보내야 합니다 at.

echo "echo \"Hello  world\"" | at ...

또 다른 접근 방식은 두 가지 형태의 인용을 사용하는 것입니다.

echo 'echo "Hello, world"' | at ...

관련 정보