如何使函数像一个参数一样处理整个句子?

0 bash

我应该如何传递一个句子来使其成为一个参数.

例:

function Test ()
{
  echo $1 
}
body="This the test"
Test $body
Run Code Online (Sandbox Code Playgroud)

我想输出像这样=>"这个测试"因为空格它会打印我测试.我应该用什么特定的字符来使整个句子像一个参数.提前致谢.

Phi*_*ipp 6

始终引用所有参数替换.

function Test() {
  echo "$1"   # needs quoting
}
body='This the test'  # double quotes would also work in this case
Test "$body"  # needs quoting as well
Run Code Online (Sandbox Code Playgroud)

以下代码的更正和可读版本:

logger() {
    local message="$1"
    local mode="$2"
    case "$mode" in
        0)
            echo "$message"
            ;;
        1)
            echo "$message" > "$LOG_FILE_DIRECTORY_PATH$LOG_FILE_NAME"
            echo
            ;;
    esac
}

logmsg=' This is log message '
logger "$logmsg" 0
Run Code Online (Sandbox Code Playgroud)