이 KornShell (ksh) 스크립트가 있습니다. a
및 b
만 인쇄합니다. 왜이 두 글자 만 인쇄하는지 모르겠습니다.Unix 쉘 스크립트 예상대로 출력되지 않음
스크립트
#!/bin/ksh
for i in [global]
do
echo $i
done
exit 0
출력 : 내가 어떻게 쉘 해석 [글로벌] 단어를 이해하는 데 필요한
./a.sh
a
b
.
이 KornShell (ksh) 스크립트가 있습니다. a
및 b
만 인쇄합니다. 왜이 두 글자 만 인쇄하는지 모르겠습니다.Unix 쉘 스크립트 예상대로 출력되지 않음
스크립트
#!/bin/ksh
for i in [global]
do
echo $i
done
exit 0
출력 : 내가 어떻게 쉘 해석 [글로벌] 단어를 이해하는 데 필요한
./a.sh
a
b
.
[global]
문자열은 덩어리 패턴으로 셸에서 처리되므로 문자 집합 {a, b, g, l, o}
의 단일 문자 이름이있는 현재 디렉토리의 모든 파일을 찾습니다. 해당 디렉토리에 a
과 b
이라는 두 개의 파일이 있습니다. 당신이 [global]
문자열로 취급 할 경우, 어떤 따옴표를 추가 : 글 로빙
for i in "[global]"
do
echo "$i"
done
인용 방지합니다.
ksh 및 OS의 어떤 버전에서 이것을 관찰 했습니까? 나는 그가 입력 한 것과 정확히 일치하는 것을 실행했고, 출력으로 [global]을 받았습니다 .... @sfgroups 현재 디렉토리에 a와 b라는 파일이 있습니까? –
@JamesGawron glob가 어떤 것과도 일치하지 않으면 그대로 남기 때문에'a','b','g','l' 또는'o'라는 파일이 없다면'echo [global]'실제로'[global]'문자열을 출력합니다. 그래도 패턴이 일치하는 파일 목록으로 바뀝니다. 이것은'bash'에 있지만 globbing (최소한 특정 형식)은'ksh','csh' (떨림),'zsh' 등에서 거의 같은 방식으로 작동합니다. 이것을 검증 할 수 있습니다 :'mkdir x ; cd x; echo [global]; 터치; echo [global]' – twalberg
확인 ... 저는 종종 세계 여행자들이 어디서나이 세부 정보를 볼 수 있는지 궁금합니다. (: ^) –
이 ksh 스크립트는 ksh 버전의 Cygwin에서 잘 작동합니다. MIRBSD KSH R48 2013/08/16.
은 Ksh 스크립트
#!/bin/ksh
for i in [global]
do
echo ${i}
done
exit 0
은 Ksh 스크립트 출력 : [글로벌]
[email protected]:/tmp $ ksh so7.ksh
ksh so7.ksh
[global]
[email protected]:/tmp $ echo $KSH_VERSION
echo $KSH_VERSION
@(#)MIRBSD KSH R48 2013/08/16
[email protected]:/tmp $ sh so7.ksh
sh so7.ksh
[global]
@ avaPlease42 내가 그 dir에 파일 a와 b를 가지고있는 문제. a b를 터치 한 다음 스크립트를 실행하여 a & b를 나열합니다. – sfgroups
을 정의? 내가 입력했을 때 실행하면 [global] –
을 출력합니다. [global]을 인쇄 할 예정입니다. 문자열은 – sfgroups
입니다. 실행하면 보입니다. 어떤 OS/쉘 버전을 실행하고 있습니까? –