開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9) の13章(ディレクトリ操作), 13.14(練習問題)7を解いてみる。
7.
やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))
コード(TextWrangler)
#!/usr/bin/env perl
use strict;
use warnings;
use File::Basename;
use File::Spec;
my $sym = $ARGV[0] eq '-s'? 1 : 0;
shift @ARGV if $sym;
my($old,$new) = @ARGV;
if(-d $new){
my $basename = basename $old;
$new = File::Spec->catfile($new,$basename);
}
if($sym){
symlink $old,$new or die "cannot symlink $old to $new: $!\n";
} else {
link $old,$new or die "cannot link $old to $new: $!\n";
}
入出力結果(Terminal)
a$ ./sample.pl -s test test_sym $ ls -l test test_sym -rw-r--r-- 4 kamimura staff 330 3 18 16:09 test lrwxr-xr-x 1 kamimura staff 4 6 26 15:55 test_sym -> test $ ./sample.pl test test_h $ ls -l test test_h -rw-r--r-- 5 kamimura staff 330 3 18 16:09 test -rw-r--r-- 5 kamimura staff 330 3 18 16:09 test_h $ ./sample.pl -s test sample $ ls -l test sample/test lrwxr-xr-x 1 kamimura staff 4 6 26 15:55 sample/test -> test -rw-r--r-- 5 kamimura staff 330 3 18 16:09 test $
0 コメント:
コメントを投稿