2013-01-10 4 views
-1
#!/bin/bash 
while read -r line; do 
mkdir "UNIX/$line" 
done < usernames.lnk 

아래와 같은 스크립트를 실행할 때이 오류가 발생합니다. 나는 어떤 철자법 오류든지를 검사했다 그러나 원본과 usernames 파일은 모두 동일한 폴더에서 아직 파일을 검출 할 수 없다.bash 스크립팅 오류

/home/user/Documents/New/taskscript.sh: line 4: usernames.lnk: No such file or directory 

답변

0

시도는

./usernames.lnk 

대신의 사용자 이름의 파일이 스크립트를 실행하면 현재 디렉토리에 있어야

usernames.lnk 
1

사용 -와 같은 디렉토리에 필요 스크립트는 해당 디렉토리에서 스크립트를 호출 할 때만 작동합니다.

어디에서든 해당 스크립트를 호출하려면 마지막 줄에 전체 경로를 사용해야합니다.

+0

확인, 감사합니다 – darkeve

4

스크립트는 현재 폴더 (즉, 이 시작된 폴더, 즉이 저장된 폴더가 아닌)에서 파일을 검색합니다.

하는 대신에이 코드를보십시오 :이 일을

#!/bin/bash 

# Determine folder in which this script is stored 
BASE=$(cd $(dirname "$0") > /dev/null ; pwd) 

while read -r line; do 
mkdir "UNIX/$line" 
done < "$BASE/usernames.lnk"