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

Bash脚本无法检测已存在的~/.junk目录问题求助

问题原因及解决办法
  • 核心原因:双引号包裹的~不会被Bash解析为用户主目录路径,而是被当作普通字符串处理。执行[ -d "~/.junk" ]时,脚本实际检查的是当前工作目录下名为~的子目录中的.junk,而非你主目录下的.junk,因此返回false。

  • 两种解决方式:

    1. 移除双引号,让~正常展开:
      #!/bin/bash
      
      if [ -d ~/.junk ]; then
          echo "yeet"
      fi
      
    2. 使用$HOME环境变量替代~(可保留双引号,避免路径含特殊字符时出问题):
      #!/bin/bash
      
      if [ -d "$HOME/.junk" ]; then
          echo "yeet"
      fi
      

内容的提问来源于stack exchange,提问作者Ben Alan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:20:34