쉘 스크립트에 여러 변수가 있다고 가정하십시오 (예 : zsh).
FOLDER_1, FOLDER_2, etc.
이 변수는에서 내려 오는 폴더를 나타 /
냅니다. 예를 들어 경로가 있다면/home/me/stuff/items
변수는 다음과 같습니다.
FOLDER_1='home'
FOLDER_2='me'
FOLDER_3='stuff'
이제 변수를 연결하여 해당 경로를 다시 만들고 싶다고 가정 해보십시오. 한 가지 가능한 방법은 다음과 같이 경로를 작성하는 것입니다.
PATH=$FOLDER_1/$FOLDER_2/$FOLDER_3/
그러나 일부 변수 FOLDER_i
에는 슬래시가 오는 반면 다른 변수 는 알 수 없습니다.
FOLDER_1='home'
FOLDER_2='stuff/'
FOLDER_3='items'
내 질문은 : 어떻게 경로를 강력하게 구축 할 수 있습니까? (예 : 이중 슬래시 방지 및 필요한 곳에 추가).
이 작업을 수행하는 한 가지 방법은 /
항상 변수 쌍 사이 에 항상 변수 를 추가하고로 중복 항목을 삭제하는 sed
것이지만 작동하도록 할 수는 없습니다 ( /
에서 올바르게 처리 하고 있는지 확실하지 않습니다 sed
).
또한, 나는 바퀴를 재발 명하고 있습니까? (즉, 이미 내장되어 있습니까?)
마지막으로 변수가 배열 에 있다면 예를 들어 FOLDERS
반복 없이이 작업을 수행 할 수 있습니까? (또는 대안으로, FOLDERS
배열에 몇 개가 있는지 모르지만 반복 하여).
%
방법은 질문에서 언급 한 단일 후행 슬래시에 적용됩니다. 슬래시가 여러 개인 경우에 적합${parts[@]%%/*}
합니다. 슬래시 문제에 대한 자세한 정보 링크는 다음과 같습니다. UNIX 경로에서 이중 슬래시 란 무엇입니까? 'cd dir / subdir // valid ...