먼저 이 스크립트를 살펴보십시오.
touch test.txt
touch loc
echo "result1" > loc
loc >> test.txt
echo "result2" > loc
loc >> test.txt
rm loc
두 개의 파일을 만듭니다. 그 중 하나 loc
는 일시적인 것이므로 여기에 쓰려고 하는데 다음과 같은 오류 메시지가 나타납니다.
5: script.sh: loc: not found
8: script.sh: loc: not found
어떻게 작동하게 할 수 있나요?
답변1
loc
명령이 아닙니다. cat loc >> test.txt
를 사용하여 text.txt에 추가 해야 합니다 . 그렇지 않으면 임시 파일을 완전히 피할 수 있습니다.
echo "result1" >> test.txt
echo "result2" >> test.txt
참고 touch test.txt
로 쓸데없는 것 같습니다.
답변2
test.txt가 생성됩니다.
echo "result1" | tee -a test.txt
echo "result2" | tee -a test.txt
아니면 한 단계로 사용해 보세요.
echo "result1" && echo "result2" | tee -a test.txt
답변3
리디렉션 연산자는 문자열이나 문자 스트림을 입력으로 예상하고 다른 쪽 끝에는 파일을 기대합니다. 따라서 cat
명령을 사용하여 먼저 파일을 읽은 다음 스트림 문자를 출력 파일로 리디렉션해야 합니다.
touch test.txt
touch loc
echo "result1" > loc
cat loc >> test.txt
echo "result2" > loc
cat loc >> test.txt
rm loc