OSX“打开”命令用应用程序创建新文件
因此,我喜欢使用TextWrangler在OSX中编辑代码,并且我倾向于使用终端来控制我的工作流程。一般情况下,我用一个bash别名:OSX“打开”命令用应用程序创建新文件
alias text='open -a /Applications/TextWrangler.app'
然而,这种方法并不让我打开从提示飞新文件。例如,如果我输入emacs newfile.py
它会临时创建一个新文件,但在我实际保存该文件之前不会触摸它。但是,如果我的别名不存在,那么我得到一个错误,并且必须手动触摸该文件然后打开它。
隐藏的方式使用open
解决这个问题的任何建议?或open
命令的第三方替代品?或者这只是基于GUI编辑器的一个基本限制?
我想你想要一个完整的shell脚本而不只是一个别名。制作一个文件,内容如下:
if [ -e "$1" ]; then
open -a TextWrangler -- "$1"
else
touch "$1"
open -a TextWrangler -- "$1"
fi
将它保存在系统的路径text
地方和chmod它是可执行的,你是金色的。
如果你真的想让它不存在,如果你不保存它,这是棘手的。我想你必须这样做:
if [ -e "$1" ]; then
open -a TextWrangler -- "$1"
else
touch "$1"
open -a TextWrangler -- "$1"
sleep 1
rm "$1"
fi
这实际上会创建文件,然后在一秒钟后删除它。该应用程序仍然会打开该文件,以便在保存时重新创建。
如果你得到TextWrangler的大哥BBEdit,那么它带有命令行工具bbedit和bbdiff,它们给你你正在寻找的行为以及许多其他有用的功能。
是的,好吧,我的问题不仅限于TextWrangler。那只是一个例子。这个问题与任何应用程序相关。 – wdahab 2011-12-22 20:32:33
如何只创建一个功能,而不是一个别名在你的Starup文件(的.bashrc,.profile文件等)。
newf() {
echo "$1" | xargs touch; open -a "/Applications/TextWrangler.app" "$1"
}
添加后,源你的启动脚本和只是下面使用这个 -
newf dummyfile.txt
和文本牧马人,会弹出一个名为dummyfile.txt一个空文件。
感谢您的建议。我觉得我可以这样做,但我一直在努力寻找更通用的解决方案。 结束于: 'if [“$ 1”];然后 \t if [-e“$ 1”];然后 \t \t开放-a的TextWrangler - “$ 1” \t其他\t \t \t触摸 “$ 1” \t \t开放-a的TextWrangler - “$ 1” \t \t睡眠1 \t \t RM “$ 1” \t科幻 其他 \t开放-a的TextWrangler fi' 因此,它也就会注意到,如果我不叫一个文件也是如此,万一我想用这种方式以及。 – wdahab 2011-12-22 21:02:43