2016-08-03 1 views
0

쉘 스크립트를 작성하려고합니다. 그것에서 나는 사용자에게서 위치로 경로를 얻고있다. 나는 그것이 '/'로 끝나는 지 알아 내고 싶다. 만약 그렇다면 그것을 제거하고 다른 변수에 할당해야합니다.csh 스크립트 - 문자열에서 부분 문자열 가져 오기 또는 마지막 문자 제거

스크립트 나는

#!/bin/csh 

set loc="/home/user/" 
if (("$loc" == */)) 
then 
    echo true 
    set b=${loc::-1} 
    echo $b 
else 
    echo false 
endif 

을 시도하지만 모든 출력을받지 못했습니다.

+0

'awk'를 사용할 수 있다면 간단히'echo "$ loc"| awk '{print substr ($ 0, length ($ 0), 1)}' ' – Inian

답변

1

시도해보십시오.

#!/bin/csh 
set loc="/home/user/" 
set lastChar=`echo $loc | rev | cut -c -1` 
if ("$lastChar" == "/") then 
    echo true 
set b=`echo $loc | rev | cut -c 2- | rev` 
#set b=`echo $loc | sed s'/.$//'` 
#set b=`echo $loc | awk '{print substr($0, 1, length($0)-1)}'` 
echo $b 
else 
    echo false 
endif 
+0

고마워요. 그것은 작동합니다. 미안해. 묻는 걸 깜빡 했어. 'str '이'/'로 끝나는 지 확인하는 방법? 쉘 스크립트를 처음 사용;) – iUser

+0

@iUser : 이것은 당신을 도울 수 있습니다. –

관련 문제