2012-11-01 3 views
0

기존 Bash 명령에 옵션을 추가 할 수 있습니까?Bash : 기존 명령에 옵션 추가

예를 들어, 특정 명령 (cp, mkdir, rm ...)에 -foo를 전달할 때 쉘 스크립트를 실행하고 싶습니다.

+1

1)처럼 보일 수는 쉘 스크립트는'CP, MKDIR라는 만든다 , rm','PATH'의 첫번째 항목으로 들어있는 디렉토리에 넣으십시오; 2) 소스를 조정하고'cp, mkdir, rm' 유틸리티를 다시 컴파일하십시오. 호기심에서 왜 이것을 필요로합니까? – khachik

+0

감사합니다. 새 디렉토리에 입력 할 수있는 mkdir 옵션을 추가하고 싶습니다. – ncrocfer

답변

2

예를 들어 다음과 같은 별칭을 지정할 수 있습니다. 당신의 특별한 인자를 확인하는 특별한 스크립트를 호출하고, 차례로 특별한 스크립트 호출 cp :

$ alias cp="my-command-script cp $*" 

그리고 스크립트가

#!/bin/sh 

# Get the actual command to be called 
command="$1" 
shift 

# To save the real arguments 
arguments="" 

# Check for "-foo" 
for arg in $* 
do 
    case $arg in 
    -foo) 
     # TODO: Call your "foo" script" 
     ;; 
    *) 
     arguments="$arguments $arg" 
     ;; 
esac 
done 

# Now call the actual command 
$command $arguments 
+0

이 솔루션은 완벽합니다. 감사합니다! – ncrocfer