내 질문에 대한 답변은 코드 효율성 및 단순성에 관한 질문보다 간단합니다. 시나리오는 다음과 같습니다. for 루프를 사용하여 사용자가 각 사용자 홈 디렉토리에있을 때/사용자를 반복하는 bash 스크립트를 만들고 싶습니다. 두 개의 다른 디렉토리가 스타일로 존재하는지 확인하고 싶습니다.bash의 조건문 작성 (if 문)
for USER in /Users/*; do
if [ -d "$USER/Library/Caches/com.spotify.Client" ]; then
rm -rf "$USER/Library/Caches/com.spotify.Client"
...하지만 여러 개의 디렉토리를 확인해야합니다. 어떻게하면 가장 우아한 방법으로 이것을 할 수 있습니까? 일련의 if 문을 사용하는 것을 피하고 싶지만이를 수행하는 가장 좋은 방법을 모릅니다.
마지막으로 find 명령을 사용하여 파일을 찾은 다음 find의 결과 (즉, 발견 된 파일의 경로)를 변수로 설정하고 다른 명령으로 입력하고 싶습니다. 고맙습니다.
나는 당신의 요구 사항을 이해 것과
이 내가 원하는 것을 정확하게! 나는 여기에 파일을 가지고 똑같은 일을 할 수 있었 을까? –
위의 오타가 있습니다 :'subddir'은'subdir '이어야합니다. 또한 다중 행 변수 할당은 my bash 3.2.48 시스템에서 작동하지 않습니다 (Mac OS X 10.7.4). 첫 번째 행만 사용합니다. – mklement0
@ DeanA.Vassallo : 여기 문서를 사용하려면 ('\ n'을 실제 줄 바꿈으로 바꾸고 경로를 인용하지 마십시오.)'read -r -d ''subdirs << EOF \ nLibrary/Caches/com.spotify. 클라이언트 \ nsome/기타/subdir \ nEOF' – mklement0