ターミナルから GUI のエディタを開く、新規ファイルも

Mac のターミナルで open -a AppName を実行することでアプリを開けることは有名だが、コマンドラインから新規ファイルを開けなくて不便なのでスクリプトを書いた。

#!/usr/bin/perl
use strict;

my @files = ();

foreach my $file (@ARGV) {
	if (-d $file) {
		print "$file is directory\n";
	}
	elsif (-f $file) {
		push(@files, $file);
	}
	else {
		my $ret = `touch '$file'`;
		push(@files, $file);
	}
}

my $filestr;
$filestr = "'" . join("' '", @files) . "'" if (@files > 0);
`open -a CotEditor $filestr`;

今日は perl の気分だったので(-f 演算子ラヴ) perl で書いた。これをパスの通ったディレクトリに保存し、実行権限を与えてあげればOK.

ファイル名にスペースが入っていても、ファイルを複数指定しても大丈夫。