2014-12-01 11 views
1
###Takes filenames as arguments and makes those executable 
#create file variable 
file=$* 
chmod 755 $file 
if [ $? -eq 0 ] ; then 
echo permission change suceeded 
else 
echo permission change failed 
exit 0 
fi 

이것은 내 현재 코드입니다. "이미 실행 권한이 있습니다"라는 추가 에코를 추가하고 싶습니다. 그것은 실행 허가 여부를유닉스 - 파일 인수가 이미있는 경우

+1

'남자 ['과 exec''검색이 있습니다. – Biffen

+0

'$ * '대신''$ @ "'를 사용해야합니다; 'file'에 할당하면 사물을 망칠 것입니다. 또한,'if'가 왜곡됩니다. 단지'chmod 755 "$ @"; 그러면 ... 더 잘 작동 할 것이고 더 간단하고 관용적이 될 것입니다. – tripleee

답변

1
if [ -x "$file" ]; then 
    echo "already got executable permission" 
else 
    .... 
fi 

확인

help test 
0
perm="$(stat -c "%a" $file)" 
if [$perm -eq 755]; then 
... 
else 
... 
fi 
+0

이것은 구문 오류입니다. '['...']'안에 공백이 필요합니다. – tripleee

+0

또한 파일이 775이면 이미 실행 가능하지만 추가 사용 권한이 있습니다. – tripleee

관련 문제