0
cygwin을 사용하여 Windows 7에서 bash 스크립트를 실행하려고합니다. 스크립트는 두 개의 파일 대상 목록을 가져옵니다 (파일은 서로 다른 폴더 쌍에 뿌려 짐). 파일을 반복하고 파일이 변경되었는지 검색합니다. 내가 ./shareddiff.sh
같은 명령을 실행하면Cygwin을 사용하여 Windows에서 bash 스크립트를 실행하는 데 문제가 있습니다.
#!/bin/bash
src=(
"./src/index.js"
"./src/index_2.js"
)
dest=(
"./client/src/index.js"
"./client/src/index_2.js"
)
arraylength=${#src[@]};
for ((i=0; i<${arraylength}; i++));
do
DIFF=$(diff -u ${src[$i]} ${dest[$i]})
if [ $? != 0 ]; then
echo "$DIFF"
echo "Files ${src[$i]} and ${dest[$i]} are not equal!"
exit 1
fi
done
echo "All files are equal"
이 명령은 오류없이 실행,하지만 아무것도 (반향 없음 메시지)를 표시합니다. 심지어 수동으로 index.js
또는 index_2.js
파일 중 하나를 변경하더라도 변경 내용을 감지하지 못합니다.
내가 뭘 잘못하고 있을지 모르겠다.
해야하는 코드없는이 부분'DIFF = $ (차이 -u $ {SRC [$ i]를} $ {이명 령 [$ I]를}) 시도'모든 그것 아래 작동합니까? 전체 스크립트를 'echo "Hello World"와 같이 하나의 간단한 에코로 바꾸더라도 출력이 표시되지 않습니다. – idjuradj
에코가 작동하지 않는 경우 diff 문제가 아닙니다. 어떤 터미널을 사용하고 있습니까? – matzeri
Cygwin을 사용하고 있습니다. – idjuradj