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

csh script - Get substring or remove last character from string

我正在尝试编写 shell 脚本。因为我从用户那里获取路径作为位置。我想知道它是否以“/”结尾。如果是这样,我必须将其删除并将其分配给另一个变量。

我试过的脚本

#!/bin/csh

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

但是我没有得到任何输出。

试试这个;

#!/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([=10=], 1, length([=10=])-1)}'`
echo $b
else
    echo false
endif