2014-04-22 4 views
0

나의 목표는 배시 명령의 출력을 새 폴더로 리디렉션하는 스크립트를 작성하는 것입니다. 내가 사용하고있는 명령은 여러 다른 파일과 파일 형식, 일부 폴더 등으로 구성된 출력을 생성합니다. 비교적 새로운데 혼란 스럽습니다. 간단한 이와 같은 :배쉬에서의 출력 방향 변경

에코 "어쩌구">

하지만이 문제로 실행 위치를 알 수없는 이름을 가진 여러 다른 것들을 리디렉션하려고 /some/location/file.txt. (예를 들어 위의 예제에서 파일 이름이 file.txt인지 텍스트인지 알 수없는 경우) 도움이 많이 접수 됨

+0

동일한 파일에 여러 개의 출력이 있습니까? 아래의 대답을 사용 + 대체하는 것에 대해 생각해보십시오. >> – PradyJord

답변

1

> 다음 단어는 일반적인 확장을 거치므로 다음과 같은 코드를 작성할 수 있습니다

output_file=/some/location/file.txt 

echo "blah blah" > "$output_file" 

output_file의 값에 관계없이 작동합니다.

+0

나는 지금까지 질문을 이해하지 못했습니다. 너? :) – hek2mgl

+0

Wild guess :) "... 또는 심지어 [sic] text"라는 주석은 코드가 창 아래에서 실행되므로 파일 확장자가 중요하므로 파일 이름이 필요하다고 생각하게 만듭니다. 동적으로 정확하게 생성되어야합니다. – chepner

+0

훌륭한 개발자는 항상 좋은 대답과 많은 환상을 가지고 있습니다. :) hihi ... – hek2mgl

0

상대 경로가 인 여러 파일을 현재 작업 디렉토리에 생성하는 명령을 처리하는 가장 쉬운 방법은 별도의 디렉토리를 만들고 거기에서 실행하는 것입니다. 이 10 디렉토리를 만들 것

for run in `seq 1 10`; do mkdir $run; pushd $run; mycommand; popd; done 

하고 명령은 아마도 출력을 둘 것 : 명령을 10 번 실행하고 파일이 서로 소지품이없는 원한다면 예를 들어

, 당신은이 작업을 수행 할 수 실행중인 디렉토리에 복사하십시오.