![: 파일 또는 디렉터리를 찾을 수 없습니다. [닫음]](https://linux55.com/image/104379/%3A%20%ED%8C%8C%EC%9D%BC%20%EB%98%90%EB%8A%94%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A5%BC%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%5B%EB%8B%AB%EC%9D%8C%5D.png)
NetworkManager와 상호 작용하지 않고 무선랜 모니터링 모드를 시작하기 위해 BASHScript를 개발 중이지만 이 기능을 사용하는 데 문제가 있습니다.
serial_setup(){
local file_name=$1
while IFS =, read PhysicalDevice ItfAlias ItfMode;
do
iw $PhysicalDevice interface add $ItfAlias type $ItfMode
ifconfig $ItfAlias up
done < file_name
}
위의 함수는 다음 형식의 텍스트 파일을 읽습니다.
PhysicalDevice1,alias1,mode1
PhysicalDevice2,alias2,mode2
PhysicalDevice3,alias3,mode3
오류의 원인과 최선의 해결책을 찾아야 합니까?
편집하다:전체 코드는 다음과 같습니다.MM 스크립트 여기에 코드를 붙여넣고 서식을 지정하는 데 문제가 있으므로 Paste`bin을 사용해야 합니다.
답변1
$
변수에 a를 잊어버린 것 같습니다 . 또한 몇 가지 다른 변수를 큰따옴표로 묶는 것을 잊었습니다.
serial_setup () {
local file_name="$1"
while IFS=, read PhysicalDevice ItfAlias ItfMode; do
iw "$PhysicalDevice" interface add "$ItfAlias" type "$ItfMode"
ifconfig "$ItfAlias" up
done <"$file_name"
}