나는 유닉스 초보자이므로 용서 해주시기 바랍니다.파일 이름을 묻는 유닉스 쉘
는내가 파일 이름과 출력에 해당 파일의 행 수를 사용자 유형을 요청할 수 있습니다 쉘 스크립트를 작성 싶어, 여기 내 코드입니다 : 그러나
echo "Pls enter your filename:"
read filename
result=wc -l $filename
echo "Your file has $result lines"
, 나는 그것이 이후 작업을 가져올 수 없습니다 식별자 "filename"에 대해 불평합니다. 전문가의 도움을받을 수 있습니까?
result=$(wc -l $filename)
그렇지 않으면, 결과 = 화장실 -l $ 파일 이름이, 화장실을 할당합니다 bash는이 결과, 다음 단어를 해석 : 당신이 화장실 -l $ 파일 이름을 평가하려면
그냥 번호를 인쇄 할 화장실을 얻으려면이'화장실은 -l <$의 filename'는 cat' –
@glennjackman'보다 더 우아한 나타납니다 당신은 STDIN 리디렉션 필요가 없습니다 -'wc -l $ filename' 역시 트릭을합니다 :). – jmdeldin
@jmdeldin의 문제는'wc -l infile'의 출력이'12345 infile'입니다 - 입력 파일 이름도 포함되어 있습니다. 그 번호를 원한다면'awk' (다른 프로세스)와 같은 것을 post-process하거나 stdin ('cat infile | wc ...', 다른 프로세스 또는'
paxdiablo