You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash中获取无前导斜杠的pwd相对路径

解决方法

给你几个适合Bash新手的简单实现方式:

方法1:用sed一步处理输出

直接把pwd的结果传给sed,同时完成去掉前导斜杠和替换正斜杠为反斜杠的操作:

echo "pwd : $(pwd | sed 's/^\///; s/\//\\/g')"

解释:

  • s/^\///:匹配路径开头的/,将其替换为空,去掉前导斜杠
  • s/\//\\/g:把路径里所有剩余的/替换成\(\在sed中是转义字符,所以需要写两个)

方法2:纯Bash参数展开(无需外部工具)

利用Bash自带的变量字符串处理功能,效率更高:

echo "pwd : ${PWD#/}" | tr '/' '\\'

或者更彻底的纯Bash写法:

echo "pwd : ${${PWD#/}//\//\\}"

解释:

  • ${PWD#/}:直接调用Bash环境变量PWD(和pwd命令输出一致),去掉其开头的第一个/
  • tr '/' '\\':把所有/转换成\;第二种写法里的//\//\\则是用Bash参数展开完成斜杠替换

方法3:分步处理(新手友好,易理解)

把操作拆成步骤,更直观:

# 获取当前完整路径并存储
full_path=$(pwd)
# 去掉路径开头的斜杠
no_leading_slash=${full_path#/}
# 把正斜杠替换为反斜杠
final_path=$(echo "$no_leading_slash" | tr '/' '\\')
# 输出最终结果
echo "pwd : $final_path"

内容的提问来源于stack exchange,提问作者Ahmad Gamal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:42:01