1

シェルスクリプトに値を取得させようとしています。私が現在持っているものは次のとおりです。

#!/system/bin/sh
echo "Enter the page numbers"
read page_no_first;
read page_no_final;
#
echo $page_no_first
echo $page_no_final

エコーは単にデバッグ用であり、問​​題は空白として表示されることです。

端末の結果は次のとおりです。

scriptname
Enter the page numbers
1
1
5
5

逐語的に。つまり、echo コマンドは単純に 2 行の空行を生成します。

私は一種の回避策と別の関連する問題を見つけました:

#!/system/bin/sh
echo "Enter the page numbers"
read page_no_first -s
read page_no_final -s
#
echo $page_no_first
echo $page_no_final

これにより、入力を繰り返さずに読み取ることができます。代わりに、それが私に与えるものは次のとおりです。

scriptname
Enter the page numbers
1
1
: is readonlyriptname[3]: read: -s
3
3
: is readonlyriptname[3]: read: -s
1
3

皮肉なことに、これで変数に数値が正常に書き込まれますが、a) サイレント リードが行われず、b) 面白いエラーが発生します。あまりにも漠然としているので、グーグルで検索しても役に立ちません。

何か助けはありますか?

4

1 に答える 1

0

これは期待どおりに機能します(少なくとも私はそうすべきだと思います):

#! /system/bin/sh

echo "Enter the page numbers"
echo -n "First: "
read page_no_first
echo -n "Last: "
read page_no_last
echo "First: $page_no_first   Last: $page_no_last"

アンドロイド4.2で

于 2013-05-23T04:48:13.637 に答える