2016-08-03 18 views
0

我正在嘗試編寫一個shell腳本。在那裏,我從用戶獲得路徑作爲位置。我想知道它是否以'/'結尾。如果是這樣,我必須將其刪除並將其分配給另一個變量。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'是否以'/'結尾? Shell腳本新手;) – iUser

+0

@iUser:這可以幫助你。 –

相關問題