: 파일 또는 디렉터리를 찾을 수 없습니다. [닫음]

: 파일 또는 디렉터리를 찾을 수 없습니다. [닫음]

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"
}

바라보다"bash/POSIX 쉘에서 변수를 인용하는 것을 잊어버리는 보안 위험".

관련 정보