2013-03-07 4 views
-1

나는 리눅스 cmd가 변수 값을 파일에 쓰길 원한다. Heres 내가 무엇을,파일을 끝내려면 Ctrl + D를 누릅니다. 다른 대안

x=$(cat /home/kate/Documents/Desktop/New-ACE-Deploy/deploy/ace/deploysetup/ConfFiles/online_ace_stable-m4.5.conf) 
echo $x 
cd /etc/apache2/sites-enabled 
cat > online_ace_stable-m4.5.conf 
echo "$x" >> "/etc/apache2/sites-enabled/online_ace_stable-m4.5.conf" 

그러나 Ctrl + D를 눌러 끝내야합니다. 나는 그것을하고 싶지 않다. 모든 대안.

답변

1

cat > online_ace_stable-m4.5.conf 줄을 제거하면 Ctrl + D를 누르면됩니다. 스크립트를 실행하기 전에 파일이 존재할 수있는 경우 마지막 행의 >> (추가)을 > (덮어 쓰기)으로 바꿔야합니다.

실제로 파일이 있고 비어 있는지 확실히 확인해야하는 경우 echo -n > online_ace_stable-m4.5.conf을 사용하십시오.

+0

그 줄은 내가 쓰고있는 곳의 파일을 만들고 있습니다 ... – Linda

+0

'>> '을 사용하여 추가 할 때 생성됩니다. 수동으로 생성해야합니다. –

+1

고마워요. 나는 당신의 대답을 받아 들일 것입니다. 나는 5 분을 기다리라는 질문을 받는다. – Linda

1

네 번째 줄의 cat command이 잘못되었습니다. 파일 매개 변수가 누락되었습니다. 이 매개 변수가 없으면 stdin에서 stdout까지입니다. >가 없어

cat online_ace_stable-m4.5.conf 

(참고 : 선 그것에 변경, 문제를 해결하기 위해 D

-이 stdin이 닫힐 때까지, 그래서 당신이 CTRL를 사용할 필요가 간다)

당신이 빈 (신규) 파일을 생성 touch 대신 cat 사용하려면

:

을 977,

직접 파일에 에코 : 처음을 만들고 이전 내용이 보관되지 않도록 할 필요가 그것으로

echo "$x" > "/etc/apache2/sites-enabled/online_ace_stable-m4.5.conf" 

. (단 하나의 > 대신에 >>)

+0

나는 갔다. 그러나 라인 자체는 파일을 만드는 데 필요하지 않습니다. '터치'cmd 추가 정보를 보내 주셔서 감사합니다. – Linda

관련 문제