나는 현재 디렉토리와 모든 하위 direcotires를 이동하고를 heres .SQL모호한 재
의 코드
HEADER="--SQL HEADER"
for f in 'find . -name *.sql';
do
echo $f
echo -e $HEADER > $f.tmp;
FNAME=${f//\//_/};
echo -e "\n\n--MORE ANNOTATIONS ${FNAME%.*}:1" >> $f.tmp;
cat $f >> $f.tmp;
mv $f.tmp $f;
rm $f.tmp
done;
메신저 A의 조각을 종료 각 파일에 약간의 주석을 추가하기 위해 노력하고있어 배쉬에서 초보자 그래서 몇 가지 오류를 생각 내가 얻을 루프 로 찾기 문으로 인해 수 있습니다 받고 있지만, 이것은 오류가 메신저
find . -name X.sql A.sql W.sql E.sql S.sql
./annotate.sh: line 6: $f.tmp: ambiguous redirect
./annotate.sh: line 8: $f.tmp: ambiguous redirect
./annotate.sh: line 9: $f.tmp: ambiguous redirect
mv: invalid option -- n
Try `mv --help' for more information.
rm: invalid option -- n
Try `rm --help' for more information.
어떤 도움이 크게 될 것 apprec =)
+1 그리고 혼란을 피하기 (그리고 보너스로 중첩 가능)는'$ (명령) 대신 역 따옴표 변형의'양식을 사용하는 것이 좋습니다하기 위해 '\'명령 \ ''. –
좋지 않다 ...'for '와 backticks를 사용하여 파일을 반복하는 것을 권장하지 않는다. ('$()'). 가장 즉각적인 문제를 지적했기 때문에 -1이 아닙니다. – ormaaj
정확하고이를 지적 해 주셔서 감사합니다.쉘 스크립트를 작성하는 방법을 가르치 려하지 않고 단순히 질문에 대답하고있었습니다. – theglauber