저는 쉘 스크립팅에 비교적 익숙합니다. 이제 며칠 동안이 오류가 발생했습니다. 문자열과 숫자 목록을 포함하는 파일의 내용을 읽고, 형식을 지정하고, 50 이하의 숫자를 출력하려고합니다.파일 이름을 스크립트에 인수로 전달합니다. 그러한 파일이나 디렉토리가 없습니다.
그러나 모든 명령은 셸에 입력 할 때 작동합니다. 스크립트에서 파일 이름을 인수로 전달할 때 "No such file or directory"오류가 계속 발생합니다.
belowFifty(){
count=0
numbers=`cut -d : -f 3 < "$2"` #here is where the error occurs
for num in $numbers
do
if ((num<50));
then
count=$((count+1))
fi
done
echo $count
}
편집 : 여기
문제가되는 기능입니다 미안 내가 스크립트가 몇 가지 일을 언급하는 것을 잊었다. $ 1이 옵션이고 $ 2가 파일입니다. 그래서처럼 전화 해요 :./script.sh m filename
고마워요! 함수가 자신의 인수 집합을 사용하고 스크립트에 전달 된 인수를 사용하고 있다는 것을 알지 못했습니다. 이게 내 문제를 해결했습니다! –