【问题标题】:Bash: get the absolute path from a relative path given as inputBash:从作为输入给出的相对路径中获取绝对路径
【发布时间】:2014-01-26 12:41:21
【问题描述】:

该脚本将要删除的文件路径作为输入,并将其移动到垃圾箱中,不仅是文件,还包括整个文件夹树。

将文件的绝对路径作为输入应该没有问题。

如果输入文件的相对路径,我如何获得要移动到垃圾箱的绝对路径?

这是一个肮脏的执行示例:

写入要删除的文件路径--->/home/user/mydata/song.mp3(绝对路径) 在垃圾桶里会得到:.Trash/home/user/mydata/song.mp3

写入要删除的文件路径--->mydata/song.mp3(相对路径) 在垃圾桶里会得到:.Trash/home/user/mydata/song.mp3

【问题讨论】:

标签: bash path relative-path absolute-path


【解决方案1】:
#!/usr/bin/bash
delete_dir=$(readlink -f $1)

【讨论】:

    【解决方案2】:
    #!/usr/bin/bash
    
    read path
    if [[ "$path" =~ ^/home/user ]] ; then
      echo mv $path Trash$path
    else
      echo mv /home/user/$path Trash/home/user/$path
    fi
    

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 2012-10-25
      • 1970-01-01
      • 2011-08-11
      • 2010-09-21
      相关资源
      最近更新 更多