设为首页 收藏本站
查看: 1142|回复: 0

[经验分享] Mac OS X: 实用脚本程序(bash scripts)系列-9

[复制链接]

尚未签到

发表于 2016-5-16 09:34:28 | 显示全部楼层 |阅读模式
Mac OS X: 实用脚本程序(bash scripts)系列-9

--添加应用程序icon到Dock
  虽然说已经有了诸如lucidsystems的additemtodock和dockutil等多个管理Dock项的实用程序,(这里不涉及那些Dock花样的众多实用程序,有兴趣的可以参考这里),下面的脚本很简单,它只是一个示例,缺少很多功能,比如它不能删除或者替换一个icon--其实这一点很容易实现;比如它不能添加folder或URL--这一点参考使用"persistent-others";再比如它只是对当前用户操作,这一点稍做修改也很容易扩展.
  
  上面提到的两个实用程序,都无法对用户模版进行编辑,有些情况下对管理员来说就局限了,而对下面的程序稍加修改就可以做到。
  
  使用:只要复制下面的内容到一个文件,变更文件属性可执行,那么就可以运行了。
  
  #!/bin/bash

# -----------------------------------------------------------------------
# A simple script to add application's icon to current user's Dock
#
# Name: addapptodock
#
# Operating System:
# Tested on 10.4 and 10.5
#
# 2009 Tony Liu
  # Copyright GNU GPL
# Version 0.0.1
#
# Version History
# 0.0.1: 2009-10-23 Initial
# -----------------------------------------------------------------------

#
# Usage: see below, or run it in terminal.
#
num_argumnets=$#
if [ "$num_argumnets" -lt "1" ] ; then
echo "WARNING ! : No argument provided. Nothing added to the Dock."
echo " Usage : addapptodock /Applications/Safari.app"
exit 2
fi

App_Name="$1"

# ---------------------------
# Check if it exists
# ---------------------------
App_Check=`defaults read com.apple.dock persistent-apps | grep -w '"_CFURLString" =' | grep -i "$App_Name"`
if [ "${App_Check}" != "" ] ; then
# This item is in the dock
echo "WANRING! : Item <$App_Name> is already in the dock, it will not be added again."
exit 1
fi

# ---------------------------
# Adding Application
# ---------------------------
if [ -d "$App_Name" ] || [ -f "$App_Name" ] ; then
echo "Added <$App_Name>."
defaults write com.apple.dock persistent-apps -array-add"<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>$App_Name</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>"
else
echo "WARNING! : Could not locate Application <$App_Name>."
fi

killall Dock

exit 0



  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217577-1-1.html 上篇帖子: Sencha SDK Tools 1.1的安装(Mac OS) 下篇帖子: Mac OS X数据备份方案一例(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表