【问题标题】:How to preserve trailing whitespace in bash function arguments? [duplicate]如何在 bash 函数参数中保留尾随空格? [复制]
【发布时间】:2013-02-07 09:58:51
【问题描述】:

考虑以下 bash 脚本:

#!/bin/bash

function foo {
  echo -n $1
  echo $2
}

foo 'Testing... ' 'OK' # => Testing...OK
# Whitespace --^                      ^
# Missing whitespace -----------------^

第一个参数中的尾随空格发生了什么?怎么保存呢?

【问题讨论】:

    标签: bash function whitespace


    【解决方案1】:
    1. 第一个参数中的尾随空格发生了什么?

      空格包含在echo 命令行中,但被shell 丢弃,就像您输入了一样:

      echo -n Testing... 
                        ^
                        |----- there is a space here
      
    2. 怎么保存呢?

      引用你的变量:

      function foo {
        echo -n "$1"
        echo "$2"
      }
      

    【讨论】:

    • 现在我看到它是如此明显。我觉得很傻=D
    猜你喜欢
    • 2010-12-12
    • 1970-01-01
    • 2016-03-31
    • 2015-05-30
    • 1970-01-01
    • 2012-12-10
    • 2014-08-13
    • 1970-01-01
    相关资源
    最近更新 更多