从函数下面的anoher函数中检索函数中的2个用户输入

时间:2016-07-27 14:57:42

标签: bash shell

我希望能够从$bookName函数回显$authorNameaddBook的值。以下是我的代码。

function checkFunc {
    echo "$bookName"
    echo "$authorName"
}

function book{
    echo -n "Title: "
    read $bookName
    echo -en "\nAuthor: "
    read $authorName
    checkFunc
}

但是,当我运行函数book时,checkFunc未输出$bookName$authorName。我知道如果我要将checkFunc函数移到book函数下面,我将无法调用checkFunc,因为它尚未被调用。

如果我希望checkFunc能够从book函数中读取值,并依次echo,那么有没有办法做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:0)

问题在于读取函数中的$。这有效:

function checkFunc {
 echo "$bookName"
 echo "$authorName"
}

function book{
 echo -n "Title: "
 read bookName
 echo -en "\nAuthor: "
 read authorName
 checkFunc
}

答案 1 :(得分:0)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="product-container" tabindex="1"> <a class="product_img_link" href="http://localhost/prestawebserver/forward/102-cropped-leggings-performance-cotton.html" title="Cropped Leggings - Performance Cotton" itemprop="url"> <img class=" img-responsive" src="http://localhost/prestawebserver/1065-home_default/cropped-leggings-performance-cotton.jpg" alt="cropped-leggings-performance-cotton" title="cropped-leggings-performance-cotton" itemprop="image"> </a> </div>只需将变量的名称作为参数填充:

read

使用您的代码,展开read bookName # not read $bookName ,并将该值用作变量的名称。由于bookName未被引用,bookName使用其默认read,如果REPLY已经没有以前的值。 (如果您引用的参数扩展通常是正确的,bookName会在read "$bookName"没有值的情况下给您一个错误。)