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
我正在尝试编写 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