我正在尝试编写一个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($0, 1, length($0)-1)}'`
echo $b
else
echo false
endif
您可以使用
:h
修饰符;它会剥离路径的最后一个/*
set loc = '/home/user/'
if (($loc:q == */))
then
echo true
set b = $loc:h:q
echo $b:q
else
echo false
endif
/home/user