2013-03-06 4 views
0

안녕하세요 bash의 마지막 슬래시에있는 모든 변수를 제거하는 방법.변수의 문자열을 삭제하는 방법

#!/bin/bash 
VAR="/foo/bar/abcd ef gh" 

나는 제거해야합니다 ABCD EF는

경로는/foo는/바/;-) 당신을 감사 항상

짧은 표기법을 찾는 다른 GH ..

답변

3

하는 경우 $ VAR은 항상 dir/파일의 경로이며 다음과 같이 사용할 수 있습니다.

$ VAR=$(dirname "$VAR") 
$ echo $VAR 
/foo/bar 
,

업데이트 : 당신은 또한 bash는 매개 변수 대체를 사용할 수 있습니다

$ echo ${VAR%/*} 
/foo/bar 
+0

워스 아무것도 결과가 foo''/ foo' 또는'와 같은 값의 경우이 dirname 및 매개 변수를 교체 사이에 약간 다릅니다 - dirname이가로 바뀝니다/및., 매개 변수 대체는 첫 번째를 비우고 두 번째는 혼자 남겨 둡니다. – William

+0

대단히 감사합니다. – petr

관련 문제