본문 바로가기

Computer Science/Linux

[Linux/Shell] OSError: [Errno 7] Argument list too long: 'bash' 오류 해결 방법

반응형

bash shell을 호출하면서 매우 긴 argument를 넣는 경우 이러한 에러를 볼 수 있다.

 

필자는 echo 로 엄청나게 긴 json 스트링을 파일에 리다이렉션 하는 경우 발생했다.

예를 들면 다음과 같다.

 

오류예시 코드:

echo ${verrrrrry long string} > tmp.json
>> OSError: [Errno 7] Argument list too long: 'bash'

 

이 외에도 디렉토리의 하위에 파일이 매우 많은경우 ls 를 수행했을 때도 발생할 수 있다.

 

이러한 경우 사용하는 argument 사이즈를 줄이거나, stack 사이즈를 늘려서 더 많은 argument를 받을 수 있게 해야한다.

 

stack 사이즈 조절(최대치 허용):

ulimit -s unlimited

 

 

추가로 shell에서 허용하는 argument max 길이를 확인하고 싶다면 이 글은 참고하기 바란다.

 

https://yeslab.tistory.com/143

 

[Linux/Shell] 리눅스에서 인자(Argument)의 limit을 확인하는 방법

shell에서 argument를 넘길 때 특정 길이를 넘지 않도록 해야한다. 특정 길이를 넘기면 오류를 내고 실행되지 않기 때문이다. 그렇다면 어떻게 하면 인자의 limit을 확인할 수 있을까? 방법은 다음과

yeslab.tistory.com

 

반응형