expr을 이용한 간단한 계산을 하려는데 잘 안됩니다.

alloveme1의 이미지

# i=2
# i='expr $i + 2'
# echo $i
하면 4가 나와야 하는 걸로 알고 있는데
expr $i + 2
가 출력됩니다.

# i=2
# expr $i + 2
하면 4가 나옵니다.

정말 궁금합니다.

리눅스 레드햇 9.0 배포판을 사용 중이며, 커널 버젼은 2.4.20-8입니다.

Darkcircle의 이미지

alloveme1 wrote:
# i=2
# i='expr $i + 2'
# echo $i
하면 4가 나와야 하는 걸로 알고 있는데
expr $i + 2
가 출력됩니다.

# i=2
# expr $i + 2
하면 4가 나옵니다.

정말 궁금합니다.

리눅스 레드햇 9.0 배포판을 사용 중이며, 커널 버젼은 2.4.20-8입니다.

expr $i+2가 문자열로 취급되나보죠 :)
자바스크립같은 경우도 겹따옴표나 그냥따옴표나 똑같은 효과를 보죠??
그거랑 좀 비슷하다고 보시면 되겠나요 . . . :)

---------------------------------------------------------------
폐인이 되자 (/ㅂ/)

pynoos의 이미지

작은 따옴표가 아니라 역따옴표 (back tick)을 사용해야합니다.

sunyzero의 이미지

pynoos 님이 말씀하신대로 역따옴표(back quote)를 쓰는 것은 문자열을 명령어로 바꿔주는 역할을 합니다. (키보드의 보통 ESC아래 있습니다)
그러나 읽는데 헷갈려서 역따옴표가 싫다면 ( ) 괄호로 묶으셔도 됩니다. ( ) 괄호는 문자열을 실행명령으로 바꿔줍니다.

따라서

i=`expr $i + 3`
i=$(expr $i + 3)

은 같습니다.

이것보다 더 간단한 방법으로 (( )) 이나 let을 쓰는 방법도 있습니다.

i=$(($i+3))
let i+=3

이런것도 가능하죠. 보통 let 은 expr에서 지원하지 못하는 단항연산인 ++, -- 도 지원하므로 편리하답니다.

========================================
* The truth will set you free.

alloveme1의 이미지

작은 따옴표가 아니라 역따옴표(backquote)였군요...
다시 한번 답변 감사드립니다...

댓글 달기

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