내 폴더 구조는 다음과 같습니다
/some/folder/1
/some/folder/2
...
current
폴더 중 하나에 대한 심볼릭 링크입니다. 가능합니까? 링크의 대상을 읽을 때 마지막 폴더의 이름을 늘리고 해당 번호로 폴더를 만듭니다. 예를 들어 /some/folder/2
마지막 번호가 무엇인지 알 수 있도록 가리키는 링크를 읽고 2
이 번호를 늘려 생성합니다. /some/folder/3
새 파일을 저장할 새 파일 폴더 ?
링크 대상을 읽는 스크립트가 이미 있지만 경로의 마지막 부분(번호)을 가져와서 추가하는 방법을 모르겠습니다.
답변1
readlink
심볼릭 링크의 대상을 가져오는 데 사용됩니다 .
target=$(readlink $1)
그런 다음 쉘의 기능을 사용하여 마지막 것 이전의 모든 것을 삭제하십시오 /
.
id=${target##*/}
또는 마지막 것 이후의 모든 것을 제거하십시오 /
.
base=${target%/*}
그런 다음 쉘의 기능을 사용하여 간단한 산술을 수행합니다.
newid=$((id+1))
마지막으로 서로 붙입니다.
newtarget=${base}/${newid}
또는 한 줄:
newtarget=${target%/*}/$((${target##*/}+1))