csh脚本 - 获取子字符串或从字符串中删除最后一个字符

时间:2016-08-03 08:46:58

标签: shell csh

我正在尝试编写shell脚本。在那里,我将路径作为用户的位置。我想知道它是否以' /'结尾?或不。如果是,我必须将其删除并将其分配给另一个变量。

我试过的脚本

#!/bin/csh

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

但我没有得到任何输出。

1 个答案:

答案 0 :(得分: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