2017-11-26 33 views
2

내가 어떤 비밀 키 위해 워드 프레스를 요청하는 우분투 16.04의 터미널 창에서 curl를 사용하는 경우, 나는 새로운 행에 각 항목을 가지고있는 멋진 꽤 출력을 얻을 : 내가 먼저 그 결과를 저장하면모든 개행 정보가 없어 졌습니까?

$ curl -s https://api.wordpress.org/secret-key/1.1/salt/ 
define('AUTH_KEY',   '6w$JwCO^;NW3vnWgQ|Hj=8T-K_ 7W/0|9WYKk`uVI|m/l#(y8^KYdvw,jo`l1qpz'); 
define('SECURE_AUTH_KEY', 'ccEN8qnoDVD|T#j7uCI%P+mt[tslr.> ZD=lr|y^XQ$/D)xGjvKqQ7_*v#,jVr+T'); 
define('LOGGED_IN_KEY', 'Qt)KLgcof#0TD0Sr3wC7jS=0}=8O]GVV(v+:^QfR|YtyP&N])8|@$tt!mFk]mQ:N'); 
define('NONCE_KEY',  '^9#+{Qh7H3PI1IUT5Ps~4v.-0FSA&*VKHHB|,:.uKIs(kj*vC4rD!,0&|`1HE^:E'); 
define('AUTH_SALT',  '{hL|[email protected]{SSpK(t/{bu+LPej7Ld.J-X_hqB-|i8^0pMI3~$]Ta>*zr.JV-b{R?q9'); 
define('SECURE_AUTH_SALT', 'mn4oN^fSiEi->=v3_D;z608bebv#Nr crSh:Jk`FbmF;-<`X5X}<YD1fnx|:-$g '); 
define('LOGGED_IN_SALT', 'V|`(qBQSQxw(ti-5vy!!8wviPI,cz!tfz1r?qvQzg,rW,w&K`-hRh.~w]yX^ui0h'); 
define('NONCE_SALT',  '?/N1{=`2Lp+c|6wK]m:@V-^FQY[[email protected]$&gF1s`ggKH;G|/3,d:qTlDZ'); 

keys=$(curl -s https://api.wordpress.org/secret-key/1.1/salt/); echo; echo $keys 

define('AUTH_KEY', 'Q$<~=k -4Dw6J05xHrzW`<4hg>.q?hbk|BV{y5b8Z$ddd-ZH]r2|0`?s<Q4#6.!k'); define('SECURE_AUTH_KEY', 'yV:ZN5sL&rLAN,Ss`~4>]WgtTIb[UG9s+BDNG=.zpN)r5~Ps>@Qxll0,@zz9F%h`'); define('LOGGED_IN_KEY', '+RW:%+<XAAiqD-~w!R(2+]vPD+%x/(|ur-$D+C8/U-F:ExkZ1O{05H5(Uk9#~(o]'); define('NONCE_KEY', ';aQuNt)c3#C~0F?vnh?12gxMY+z()0 t1y2_v2,?Sm`!uZppn+3pRwlXX}Rt8aL9'); define('AUTH_SALT', '1inr)T||(uk{Ivk?]~UR/=`}GlM|[Y`0%=_1)=p<EV&(b%wy,+EMG-xvY-G!tIF<'); define('SECURE_AUTH_SALT', '9+K!7eEQ5N&C#?`.D+0nTF-S|P!&n+O -|=n0;an|Pl78[|uQ9kbz,i+N_y/@p]r'); define('LOGGED_IN_SALT', 'NtDSfos]0/ ~x*4%22IVM:<XbNI1MKJw=>HHGg{|g91<zjXWR&Zhj*z&-j:7U2nS'); define('NONCE_SALT', '%Yo>D7nLM~IS|HrnSL<0&/4#-zW+M+b^d -Q pZ*9$Cu^@h)qFD9. |R&[?[p>cZ'); 

내 질문은 : 왜 문자열 변수에 할당 될 때 학대 점점 줄 바꿈은 변수는 다음 변수의 내용을보고는, 모든 단일 라인 죽이되었다?


참고 : 문맥에이 질문을 넣으려면 자동으로 WordPress를 설치하는 스크립트를 작성하고 있습니다.

#!/usr/bin/env bash 

source=wp-config-sample.php 
target=wp-config.php 

grep -A 1 -B 60 'since 2.6.0'      $source > $target 
curl -K -s https://api.wordpress.org/secret-key/1.1/salt/ >> $target 
grep -A 60 -B 4 'Table prefix'     $source >> $target 

그것은 줄 바꿈의 치료 문자열은 그냥 있음 : 이미 깔끔하게 wp-config.php 파일에 고유 한 소금 값을 추가하는 솔루션, 내가 원하는 방식으로, 나의 즉각적인 문제 해결을 변수에 할당 된 것은 나를 귀찮게하며, 무슨 일이 일어나고 있는지 이해하고 싶습니다. 왜 그런가요?

+1

'에코 "$ 키"'. 인용되지 않은 매개 변수 확장은 다른 것으로 입증 될 때까지 버그입니다. – chepner

+0

@chepner "인용되지 않은 매개 변수 확장은 버그입니다."<< 확장 할 수 있습니까? 개행 문자가 공간으로 확장되어야하는 매개 변수라고 말하고 있습니까? 위험 할 경우를 대비하여 공간이 떨어지거나 교체되는 것입니까? –

+0

이것은 따옴표로 묶지 않고 줄 바꿈은 단어 분리에 사용할 수있는 임의의 공백으로 취급된다는 것을 의미합니다. 결과적으로'echo $ keys'는 개행 문자가있는 단일 인수가 아닌'echo'에 여러 인수를 전달합니다. – chepner

답변

1

echo 공백에 인용 부호가없는 줄 바꿈 변환 :

$ X='a 
> b' 
$ echo $X 
a b 
$ echo "$X" 
a 
b 
+1

이 설명을 발견했습니다. https://stackoverflow.com/a/27872114/1927589 –

+0

보다 정확하게 : 인용 부호가없는 변수 확장은 개행 문자 (및 공백과 탭)를 인수 사이의 구분으로 변환합니다. 'echo'는 인수를 함께 사용하기 위해 공간을 사용합니다. 자세한 내용은 @ JamesNewton의 링크를 참조하십시오. –