Macos 使用shell脚本在Mac上启动Firefox Portable
首先,请允许我声明,我讨厌Mac电脑的全部内容。除了用Objective-C编程外,我对它们几乎没有什么经验 问题:我需要能够在闪存驱动器上的目录下启动便携式firefox安装Macos 使用shell脚本在Mac上启动Firefox Portable,macos,shell,usb-drive,Macos,Shell,Usb Drive,首先,请允许我声明,我讨厌Mac电脑的全部内容。除了用Objective-C编程外,我对它们几乎没有什么经验 问题:我需要能够在闪存驱动器上的目录下启动便携式firefox安装 [Drive root]/.assets/port/Firefox Portable.app 我能在以下方面得到帮助吗 确保shell脚本将接受文件夹名称上的空格和句点 确保shell脚本将接受文件名中的空格 允许更改驱动器根目录,类似于windows计算机上的前导“/” 提前感谢。在OS X上,open(1)用于从命
[Drive root]/.assets/port/Firefox Portable.app
我能在以下方面得到帮助吗
open(1)
用于从命令行启动应用程序:
open "[/Volumes/[Drive file system name]/.assets/port/Firefox Portable.app"
与任何标准的Unix shell一样,将路径括在引号中可以防止空格和句点
对于给定的闪存驱动器,卷文件系统名称将始终相同,除非您更改它。如果您事先不知道文件系统名称,则需要搜索装入的卷并猜测
更准确地说,默认情况下,OS X将尝试在/Volumes/[drive file system name]
装载点使用相同的文件系统装载USB驱动器,除非该装载点已被另一个类似的命名文件系统使用,在这种情况下,将使用修改后的装载点名称,通常是通过附加某些内容。或者您或某些程序可以在任意装入点手动装入它。因此,在最一般的情况下,您需要搜索。这取决于您尝试执行的操作。在OS X上,open(1)
用于从命令行启动应用程序:
open "[/Volumes/[Drive file system name]/.assets/port/Firefox Portable.app"
与任何标准的Unix shell一样,将路径括在引号中可以防止空格和句点
对于给定的闪存驱动器,卷文件系统名称将始终相同,除非您更改它。如果您事先不知道文件系统名称,则需要搜索装入的卷并猜测
更准确地说,默认情况下,OS X将尝试在
/Volumes/[drive file system name]
装载点使用相同的文件系统装载USB驱动器,除非该装载点已被另一个类似的命名文件系统使用,在这种情况下,将使用修改后的装载点名称,通常是通过附加某些内容。或者您或某些程序可以在任意装入点手动装入它。因此,在最一般的情况下,您需要搜索。这取决于你想做什么。这应该能奏效
cmd=$(ls -d /Volumes/*/.assets/port/Firefox\ Portable.app 2>/dev/null | head -1) && open "$cmd"
将在/卷中所有已安装的驱动器上尝试ls
all Firefox,并将启动第一个。(如果找不到Firefox,则什么也不做。)
说明:
在目录模式下尝试列表(因此列出目录名而不是目录内容)ls-d
中的backshlash表示转义下一个字符(这里是Firefox\Portable
)空格
-不要显示错误(或者您也可以尝试2>/dev/null
)2>&-
-仅显示结果的第一行(如果这里有更多行)| head-1
- 上面的所有内容都分配到变量
——因此,如果这里有一个命令,该变量将包含一个路径名cmd
-当上一个命令成功时,在变量$cmd中存储的路径上打开应用程序(这里是一个命令)&&open“$cmd”
cmd=$(ls -d /Volumes/*/.assets/port/Firefox\ Portable.app 2>/dev/null | head -1) && open "$cmd"
将在/卷中所有已安装的驱动器上尝试ls
all Firefox,并将启动第一个。(如果找不到Firefox,则什么也不做。)
说明:
在目录模式下尝试列表(因此列出目录名而不是目录内容)ls-d
中的backshlash表示转义下一个字符(这里是Firefox\Portable
)空格
-不要显示错误(或者您也可以尝试2>/dev/null
)2>&-
-仅显示结果的第一行(如果这里有更多行)| head-1
- 上面的所有内容都分配到变量
——因此,如果这里有一个命令,该变量将包含一个路径名cmd
-当上一个命令成功时,在变量$cmd中存储的路径上打开应用程序(这里是一个命令)&&open“$cmd”
\
来保护空间,因此打开[…]Firefox\Portable.app
我将其括在引号中,但它仍然失败(系统无法找到/.assets/port/Firefox),所以您是说,与windows不同,无法告诉它从驱动器根目录开始查找文件?因为驱动器将安装在不同的位置,这取决于它插入的计算机,对吗?与PC上的driveletters一样?如果没有已装入的冲突文件系统(具有相同文件系统卷名的文件系统),默认情况下,它应装入每个OS X系统上的相同路径。因此,您应该能够在任何地方使用相同的文件路径。喜欢