mac os - 如何从路径中删除“Macintosh HD”?

时间:2015-01-12 16:28:24

标签: macos

第三方应用程序(Photoshop)返回(通过Photoshop api)路径" Macintosh HD"在开始时:

/Macintosh HD/Users/alek/Documents/renderly-example.psd

我需要的是没有Macintosh HD

的路径
/Users/alek/Documents/renderly-example.psd

如何安全地从路径中删除Macintosh HD?安全地我的意思是即使它的值不同(例如John HD)也要将其删除。我如何规范化这样的路径,假设它可能包含Macintosh HD"前缀"在路上?

所以对于两条路径

/Macintosh HD/Users/alek/Documents/renderly-example.psd

/Users/alek/Documents/renderly-example.psd

结果应为:

/Users/alek/Documents/renderly-example.psd

1 个答案:

答案 0 :(得分:1)

我想我会选择这样的事情:

#!/bin/bash
# Get name of system startup disk - in case user has changed it
startupdisk=$(osascript -e 'tell application "Finder" to set startup_Disk to (name of startup disk)')
# Make path absolute
absstartup="/$startupdisk"
# Remove this from whatever the user provided as a parameter
echo ${1/$absstartup/}

将其保存为normalizepath,并使其

可执行
chmod +x normalizepath

然后使用

运行
./normalizepath "/Macintosh HD/Users/alek/Documents/renderly-example.psd"

它基本上要求Finder获取启动磁盘的路径,以防用户将其重命名为远离Macintosh HD,然后在前面添加斜杠以使其成为绝对磁盘,然后从中移除任何结果在提供的参数前面。