怎样在终端里面用其他程序打开文件
如果是在在OSX操作系统中-----------------------------------------== 直接调用程序:如果你知道一个应用程序的位置,虽然一般情况下都是存放在/Applications目录下,但是并不完全如此,实际上用户可以把一个程序放在任何地方,同样可以运行。但是这种方法我们就假定你知道它存放的位置,比如是/Applications/Safari.app。可以使用下面的命令来启动该程序:open -a /Applications/Safari.app其实,关键就是-a参数。-----------------------------------------===使用程序包标识串:我们无需知道一个程序的具体位置,在OSX启动之后,它会遍历所有的程序,特别是当一个程序运行过一次之后,系统会将该程序进行注册,而一个程序区别于其他程序的是每个程序有有自己唯一的程序包标识串(英文:Bundle Identifier), 其实不仅程序有,每个组件也都有,但与本题无关就不赘述。有了这个程序包标识串,操作系统帮你找到它。下面的问题是,如何获得一个程序的程序包标识串。同样使用上面的Safari的例子,见下面的命令行例子:defaults read /Applications/Safari.app/Contents/Info CFBundleIdentifier 【怎样在终端里面用其他程序打开文件】 如果不太了解,这里可以多解释一下:
defaults:是OSX自带的获得用户默认配置的命令,通俗说就是读取plist文件,大家都知道plist文件是OSX默认的参数配置文件。read:是defaults命令的动作参数,也就是读取/Applications/Safari.app/Contents/Info:是所有读取的那个plist文件的绝对路径。其实该文件的全文件名是/Applications/Safari.app/Contents/Info.plist。当时在defaults命令中需要省略.plistCFBundleIdentifier:是在该plist文件中定义程序包标识串的字段名执行上面的命令后,应该得到下面的结果:com.apple.Safari这就是Safari程序的程序包标识串。
难免会有疑问,这个程序包标识串会不会因其他因素而改变呀,有没有版本问题呀,OSX系统会不会找不到啊等等。这些都可以放心,一个程序如果不能符合Apple的规范,也不会是好程序。如果OSX没有找到,用户运行一次程序后,系统会自动为之注册。
找到之后,我们同样用open命令来启动该程序:open -b com.apple.Safari 就是这样简单,适用参数-b。-----------------------------------------===打开文件
好了,最后还有一个问题就是如何让该程序自动打开指定的文件或链接呢?这个最简单,在程序后面填上就好,比如:open -b com.apple.Safari http://zhihu.comopen -a /Applications/Safari.app http://zhihu.com好了,最好唠叨一句,仔细看open的说明。
大功告成了。
■网友
直接打程序名/路径。比如kate readme.txt
■网友open -a MPlayerX ~/Movie/TokyoHot-388.mkv
■网友
Java一个框架,点开代码不要动,改下文字就行,一般在bin文件夹里,要用ep软件打开。
■网友
open -a /Applications/Google\\ Chrome.app http://www.baidu.com 可以可以
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
