微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux-字符串操作

这是我的代码

real_path="/u1/h7/user/469/code/hw4/b.sh"
while [ "$real_path" != "/" ]
do
  echo $real_path
  real_path=${real_path%/*}
done
echo $real_path   #just to print the root '/' 

我希望我的脚本打印以下行,但是real_path = ${real_path%/ *}似乎不起作用,是否有任何建议或其他方法可以实现?

/u1/h7/user/469/code/hw4/b.sh
/u1/h7/user/469/code/hw4
/u1/h7/user/469/code
/u1/h7/user/469
/u1/h7/user
/u1/h7
/u1
/

解决方法:

您可以使用目录名:

#! /bin/bash

real_path="/u1/h7/user/469/code/hw4/b.sh"
while [ "$real_path" != "/" ];do
    echo "$real_path"
    real_path=$(dirname "$real_path")
done
echo "$real_path"

输出

/u1/h7/user/469/code/hw4/b.sh
/u1/h7/user/469/code/hw4
/u1/h7/user/469/code
/u1/h7/user/469
/u1/h7/user
/u1/h7
/u1
/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐