초보의 쉘프로그래밍 질문.

익명 사용자의 이미지

당초 목적은 파일 만들고 지우는것인데요
무한 루프를 돌면서 exit라는 문자열을 입력받으면
루프를 빠져나가게 하려고 합니다
이외의 문자열은 실행되는 디렉토리내에
입력받은 문자열인 파일이 있으면 문자열.txt 파일을 삭제하고
없으면 문자열.txt파일을 생성하는것인데요...
뭘 잘못했는지 되다가 안되다가 정말 황당합니다..확신도 없구요
소스는

while
do
read a
if [ "exit = "$a" ]
then
break;
elif [ -f $a ]
then
echo|cat > "$a.txt"
else
echo|rm -f "$a.txt"
fi
done

말도 안되는 코드인지 모르지만 이상입니다..
어딜 조금 건드리면 됐다가 다시 실행시키면 안될때도 있고해서
미치겠습니다..ㅜ.ㅜ
잘못된곳 좀 지적해주세요

익명 사용자의 이미지

BASE=/tmp

while [ true ]; do
read a
if [ "exit" = "${a}" ]; then
break;
elif [ -f "${a}" ]; then
touch "${BASE}/${a}.txt"
else
rm -f "${BASE}/${a}.txt"
fi

# roop 가 돌아갈때 a 를 초기화
a=
done

정도면 될것 같은데요.
쉘 스크립트에서는 절대 경로를 이용하시는 것이 좋습니다. -)

파이란 wrote..
당초 목적은 파일 만들고 지우는것인데요
무한 루프를 돌면서 exit라는 문자열을 입력받으면
루프를 빠져나가게 하려고 합니다
이외의 문자열은 실행되는 디렉토리내에
입력받은 문자열인 파일이 있으면 문자열.txt 파일을 삭제하고
없으면 문자열.txt파일을 생성하는것인데요...
뭘 잘못했는지 되다가 안되다가 정말 황당합니다..확신도 없구요
소스는

while
do
read a
if [ "exit = "$a" ]
then
break;
elif [ -f $a ]
then
echo|cat > "$a.txt"
else
echo|rm -f "$a.txt"
fi
done

말도 안되는 코드인지 모르지만 이상입니다..
어딜 조금 건드리면 됐다가 다시 실행시키면 안될때도 있고해서
미치겠습니다..ㅜ.ㅜ
잘못된곳 좀 지적해주세요

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.