쉘 스크립트가 동작을 안하는데 어떻게 해야 하나요?

kimyh의 이미지

db를 백업받고자 쉘 스크립트를 아래와 같이 만들어 실행 시키려고 하는데
: bad interpreter: 그런 파일이나 디렉토리가 없음 이라는
에러만 나옵니다.

혹시 해킹되었나 싶어 find /dev/ -type f로 확인해봐도 모두 정상인데
왜 위와 같은 메세지가 나오는지 알수 없군요.

아래는 디비 백업 스크립트입니다.
#!/bin/sh
#mysql 데이터백업
date=`date '+%y-%m-%d,%H-%M'`
/usr/local/mysql/bin/mysqldump -uuser -p1234 abcde > /home/bbbb/backup/
p$date.sql

또 아래는 /home/bbbb/backup 아래에있는 화일들입니다.
[root@xxx backup]# ls
autoftp.sh backup.sh delete.sh

[root@xxx backup]# ./backup.sh
: bad interpreter: 그런 파일이나 디렉토리가 없음
[root@xxx backup]#
분명히 디렉토리안에 backup.sh 화일이 잇는데 왜 그런 에러가 날가요?
그리고 /bin 디렉토리아래 sh 화일이 있는것도 확인했습니다.]

여기서 autoftp.sh 와 delete.sh는 동작을 잘 하는데 backup.sh 화일의
위에있는 #!/bin/sh 부분이 없습니다.

그런데 ./backup.sh 로 실행시키면 위와같은에러가 나는데
sh backup.sh로 실행시키면 실행은되는데 s05-10-31,06-32?.sql? 처럼 ?표가 붙어 나옵니다.

아시는분 도움좀 주세요.

익명 사용자의 이미지

#!/bin/bash
set -x
...

위처럼 스크립트를 출력해 가면서 디버그 해보세요.
set -x 를 .....

niemand의 이미지

혹시 쉘 파일이 도스 모드로 작성된게 아닌지 확인해 보시기 바랍니다.

즉 라인 끝이 0x0a 가 아니라 0x0d 0x0a 로 끝나는 경우.

유닉스를 싫어하는 어떤 동료직원이 윈도우에서 울트라에디트로
쉘을 작성 후 FTP 로 올려서 작업하는 경우
이런 현상이 있던 걸 기억합니다.

kimyh의 이미지

답변감사합니다.
제가 윈도우에서 만들어 ftp로 올렸더니 않된것 같군요.
직접 리눅스에 들어가 vi편집기로 작성하니 잘 되는군요.

정말 답변 감사합니다.

살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.

kalp의 이미지

ex mode 에서
set fileformat=unix
wq
하시면 됩니다.

file 명령으로 해당 파일이 어떤 파일인지 검사해보시면 알 수 있습니다. 위의 파일 그러니까 DOS/WINDOW 모드에서 작성된 파일은

$ file sdjfljksdklfsdklfjl

하시면

sdjfljksdklfsdklfjl: ASCII English tetxt, with CRLF line terminators
라고 뜨고, 유닉스의 보통파일은

sdjfljksdklfsdklfjl: ASCII English tetxt
이렇게 뜹니다.

댓글 달기

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