【问题标题】:how to retrieve value from command line argument in shell script如何从 shell 脚本中的命令行参数中检索值
【发布时间】:2013-03-29 18:57:41
【问题描述】:

我在shell脚本中写了两条语句,如下:-

str=$'cd /home \n mkdir $1'
echo "$str"

当我执行上面的脚本文件时,它会显示以下输出:-

[root]# ./ScriptCheck.sh pravin
cd /home
mkdir $1

输出应该在哪里:->

cd /home
mkdir pravin

【问题讨论】:

  • 单引号不提供 shell 变量的输出。要获得确切的变量,您可能需要将其括在双引号内。

标签: linux shell unix command-line-arguments


【解决方案1】:

不使用单引号 (') 在字符串中扩展变量。请尝试使用双引号 (")。

更多详情请见http://www.gnu.org/software/bash/manual/bashref.html#Double-Quotes

【讨论】:

  • 请注意,使用双引号时,\n 将被视为两个文字字符,而不是新行。不过,在对echo 的调用中添加-e 将导致echo 再次将这对解释为换行符。
【解决方案2】:

尝试改变:

str=$'cd /home ; mkdir $1'
echo "$str"

【讨论】:

    猜你喜欢
    • 2013-03-03
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2016-12-17
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多