리눅스 쉘 스크립트에 관해 질문 드립니다.

ralear501의 이미지

실무에서 리눅스(redhat) 서버를 맡고 있는데요, 지금 웹호스팅 자동화를 하려고 하는데 작업의 편의성을 위해서 쉘 스크립트를 짜보려고 합니다. 그런데 문제점이 생겼는데, 그 부분은 쉘 코드 작성시... 예를 들어 vi에디터에 내용을 삽입하려고 하는경우 코드를 어떻게 작성해야 할지 모르겠습니다... 이 부분에 대해서 아시는 분 답변 부탁드립니다...

nonots의 이미지

이런걸 원하시는지..

echo -e "qwefqf\nqewfqwef\nasdasdasdfasdf\n\nwefwef" | vi -

=== 건달의 경지를 꿈꾸며 ===


=== 건달의 경지를 꿈꾸며 ===

superwisdom의 이미지

추가로 아래와 같이 -c 옵션을 이용하여 vi 명령도 입력할 수 있습니다.
echo -e "qwefqf\nqewfqwef\nasdasdasdfasdf\n\nwefwef" | vi - -c ":wq README"

ralear501의 이미지

제가 스스로 알아볼수도 있는 부분이지만 기간이 기간인지라 한계가 있는듯하네요 ㅜㅜ;
자세한 설명을 부탁드려도 되겠습니까!!!!!

planetarium의 이미지

터미널에 저 라인을 그대로 붙여넣어 보셨나요?
해보셨는데도 자세한 설명을 부탁하시는 거라면
질문이 부실한 것 같습니다.

choboadmin의 이미지

각 사용자 별로 가상 호스팅을 셋팅해야 하는 상황입니다..

가상호스팅 셋팅하는 파일은 httpd-vhosts.conf <--이 파일이고

이 파일안에는 가상 호스팅의 정보가 저장되어 있습니다..

그리고 이 파일의 마지막 줄에 가상 호스팅의 대한 정보(9줄)를 다시 입력해

야 하는 상황입니다..

위에 있는 방법으로 하면 입력한 내용이 상단에 위치하게 되고...새로운 파

일까지 만들게 되더군요..즉 이 방법 말고 기존에 있는 파일에 새로운 내용

을 마지막 줄에 끼워 넣고 싶습니다...

cyberbot의 이미지

echo -e "qwefqf\nqewfqwef\nasdasdasdfasdf\n\nwefwef" >> httpd-vhosts.conf

이런 식으로요

choboadmin의 이미지

근대 궁금한게...echo 면 화면에 출력하는 명령어 같은거 아닌가요??거기에 옵션으로 -e를 주면 이스케이프된 문자로 변역하고 그 문자에 /n을 주면 줄 바꿈이 되고...>>은 뭔지 모르겠네요.ㅜ_ㅜ;;그리고 파일명.. 대략 이런씩으로 사용되는거 같은데

>>이거과 <<이거의 차이점이 뭔지 설명점 해주시면 안되나요??

그리고 내용>>파일명 | vi - -c ":wq"<--이 명령어를 사용하면 vi가 뜨는데.ㅡ_ㅡ;; 그냥 바로 저장되게는 못 하나요.ㅜ_ㅜ;

에휴~쉘스크립트도 만만치 않네요.ㅜ_ㅜ;

bootmeta의 이미지

google로 검색 시 상단에 바로 Bash refrence Manual(http://www.gnu.org/software/bash/manual/bashref.html)이 뜹니다.
해당 링크 열고 웹브라우저 찾기 메뉴로 >>과 <<를 문서 내에서 확인해 보세요.
영문이 직관적으로 와닿지 않는다면 역시 goole 검색 결과 상단의 고급 Bash 스크립팅 가이드(http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/index.html)에서 영문 Manual 항목과 맞아 떨어지는 부분을 참조하시면 됩니다.

예를 들어 영문 매뉴얼 내에서 <<를 검색하면 Here Document항목으로 이동됩니다.
다시 한글 가이드 문서에서 Here Document 항목 찾기

vi option들이 이해가 안되면 terminal에서 man vi하면 쉽게 알수 있습니다.

발제글이 아닌 댓글의 >>, << 의미 정도라면 5분만 google 검색에 투자해도 쉽게 알 수 있습니다.

choboadmin이 언급한 vi - -c ":wq" 부분은 더이상 필요 없습니다.
echo -e "내용" >> file을 실행해 보세요.

ps)
좀 까칠하게 보일 수 있습니다만, 본인이 쉽게 직접할 수 있음에도 습관적으로 다른 사람에게 의존하는 것은 학습에 도움이 되지 않습니다.

mugman의 이미지

이미 위에 답이 나왔는데 해보지도 않고 물으시는것 같네요.
echo -e "qwefqf\nqewfqwef\nasdasdasdfasdf\n\nwefwef" >> httpd-vhosts.conf

echo 로 출력될 부분을 지정된 파일 제일 끝에 붙이는 명령어 입니다.

echo 'abc123' > test.txt
echo 'abc345' >> test.txt

요거 두개만 몇번 해보시죠.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.