전 quake3를 윈도그에서도 하고 리눅스에서도 합니다.
그런데 바이너리 말고 데이터 파일은 똑같은것이기 때문에
각각 깔필요가 없지요. 그래서 전 리눅스에서는
윈도우 파티션을 마운트해서 심볼링 링크를 걸어서
사용합니다. 이렇게 하면 쓸데 없는 하드디스크 공간을
절약할 수 있기 때문이죠
그래서
데이터 화일을 링크걸어야 되는데 갯수가 장난이 아닙니다
. 완전 단순 반복 노가다지요.
그래서 꽁수를 부려봤습니다. 다른 방법도 있겠지만..
상황:
quake3의 데이터화일인 *.pk3 는 마운트된 윈도우파티션인
/mnt/c:/quake3/arena 에 있다
그 파일들을 링크할 디렉토리는
/usr/local/games/quake3/arena 이다.
해결책:
다음 내용의 linkall 또는 적당한 이름의 쉘스크립트 화일을
만든다. -------------- cut here ----------------
#!/bin/sh
for i in $*
do
ln -s $i `echo $i |awk 'BEGIN { FS = "/" } ; { print $NF }'`
done
-------------- cut here -----------------
위 위에서 awk 부분을 설명 드리자면
디렉토리 구분자인 /를 awk에서 field seperator로 지정하고
$NF 는 그것으로 구분되는 필드의 맨 마지막필드값을
뜻합니다.
링크를 걸고자 하는 디렉토리
/usr/local/games/quake3/arena
디렉토리로 이동한다.
linkall /mnt/c:/quake3/arena/*pk3
라고 명령을 내리면
/mnt/c:/quake3/arena/에 있는 모든 pk3확장자를 가진
화일들이 현재디렉토리에 링크가 걸립니다.
뭐 다르게 응용할수도 있겠죠?--닭질하세~