질문있습니다.
248
작성한 질문수 3
name=michael; printf -v legend "%s jackson" $name; echo $legend
해당 명령을 입력했을 때, 결과로 michael jackson 출력되는데 %s jackson $name 이부분이 어떻게 적용되는지 자세히 설명 부탁드립니다.
답변 1
1
seol3865!! 님 강의를 수강하시면서 궁금한 점이 발생되셨군요. 자 그럼 시작해보겠습니다
먼저 간단한 실험(A)을 해보겠습니다
user@linux$ name=michael; printf "%s jackson" $name
michael jacksonuser@linux$
두번째 실험(B)을 해보겠습니다
user@linux$ name=michael; printf -v legend "%s jackson" $name; echo $legend
michael jackson
user@linux$
어떤 차이점이 느껴지실까요?
실험(A)의 경우 문자열이 형식화된 출력(formatted string)으로 화면에 보이게됩니다
실험(B)의 경우 문자열이 화면에 출력되는대신 지정 변수(legend)에 저장됩니다
이 표현법은 아래처럼 C언어 printf 함수의 사용례와 많이 흡사합니다
char* name="michael"; printf("%s jackson", name); <--- %s 는 우측의 문자열(name)로 실제로 치환되어 사용됩니다
화면출력=> michael jackson
마지막 결론입니다 name=michael; printf -v legend "%s jackson" $name; echo $legend
이 문장의 해석법은 name변수에는 마이클이 들어있고, "%s jackson" $name 는 다음처럼 치환되며
"michael jackson" 최종적으로 이 문자열은 legend 변수에 저장되고,
echo $legend 명령에 의해 화면에 출력되죠?
seol3865 님 ! 어느정도 궁금증이 해결되셨을까요?
그럼 마지막 영상까지 즐감하세요:)
59회차 학습 미작동
0
65
2
BASH_REMATCH 변수가 어디서 나온거죠?
1
912
1
${object%%:*}, ${object#*:}는 어떤 뜻인가요
2
396
1
./euid.sh
2
397
1
touch 'Gone with the wind.mp3' 입력 결과가 다릅니다
1
363
1
스크립트에서 %는 무엇을 의미하나요?
1
519
1
하드 링크, 심볼릭 링크
1
690
2
[..]와 테스트 강의에서
1
388
1
하드 링크, 심볼릭 링크
0
631
1
변수명이 출력되지 않습니다.
1
284
1
변수명 출력이 되지 않습니다.
0
345
1
select in case문 질문
0
230
1
crontab 질문이 있습니다.
1
224
2
(..)_(..) 와 BASH_REMATCH
1
747
1
^[.+] 정규표현식이 RegExr 를 나타내는게 맞나요?
1
386
2
실습자료를 다운받은 다음에 어떻게 해야 하나요?
0
435
3
sudo cp helloworld.sh /usr/bin 명령어 질문
1
603
1
read -p 명령어가 동작하지 않습니다.
2
350
1
wc 명령어에 -L 옵션이 동작하지 않습니다.
1
436
1
book이 변수가 아니라 파일인가요?
1
355
1
sed 관련 질문
1
639
2
파일접근권한 강의
1
143
1
[] 결과
2
210
1
# (주석) 관련 질문 드립니다.
1
163
1





