내 프로젝트에 대해 클린 빌드를 수행하면 무언가를 출력하고 증분 빌드를 수행하면 다른 것(더 적은)을 출력하는 증분 빌드 명령이 있습니다.
mycommand.sh
이미 클린 빌드를 실행했고 출력이 터미널 창에 인쇄된 경우(복사 및 붙여넣기를 사용하지 않고) 이를 어떻게 저장할 수 있나요 ?
할 일을 잊어버렸어요
mycommand.sh > myfile.txt
또는
mycommand.sh >> myfile.txt
출력을 파일로 저장하기 위한 것입니다.
답변1
이전 명령을 실행 하거나 $(!!)
다시 실행하는 것이 해결책인 것처럼 보일 수도 있지만(때때로) 해결책이 될 수도 있지만 다음과 같은 단점도 있습니다.충분히그것을 사용하는 것을 이해하십시오.
예: 명령이 다음과 같이 일부 수정을 수행한 경우
rm -rv /tmp/*
그런 다음 어떤 방식으로든 해당 명령을 다시 실행하면~ 아니다첫 번째 실행 전에 /tmp/가 비어 있었고 두 번째 실행에서도 여전히 비어 있는 경우 출력은 동일해야 한다는 점을 제외하고 이전과 동일한 출력을 생성합니다.
결론: 없다안전한명령이 실행되는 동안 저장하지 않은 경우 마지막 명령의 출력을 재사용하거나 (복사 및 붙여넣기 없이) 저장하는 방법입니다.
답변2
bash는 메모리의 매개변수나 블록에 출력을 할당하지 않기 때문에 그렇게 할 수 없습니다.
그러나 다음을 수행할 수 있습니다 $(!!)
.다시 계산하다(재사용하지 않음) 마지막 명령의 출력.
자체적 !!
으로 마지막 명령을 실행합니다.
$ echo pierre
pierre
$ echo my name is $(!!)
echo my name is $(echo pierre)
my name is pierre