22

bash で単純なスクリプトを実行する際に問題があります。スクリプトは次のようになります。

#! /bin/sh

read -p 'press  [ENTER]  to continue deleting line'
sudo sed -ie '$d' /home/hpccuser/.profile

スクリプトを ./script で実行すると、出力は次のようになります。

press  [ENTER]  to continue deleting line./script: 3: read: arg count
[sudo] password for user

ターミナルで直接読み取りコマンドを実行し(スクリプトからターミナルにコピーアンドペースト)、正常に動作します。ENTER が押されるのを待ちます (一時停止のように)。

4

5 に答える 5

28

#!/bin/shスクリプトはではなく で始まるため、#!/bin/bashbash 拡張機能 ( などread -p) を使用できる保証はなく、標準に準拠した機能のみに依存できます。

に存在することが保証されている機能のリストについては、関連する標準ドキュメントを参照してくださいread

この場合、おそらく 2 つの行が必要になるでしょう。1 つは印刷を行い、もう 1 つは読み取りを行います。

printf 'press [ENTER] to continue deleting...'
read _
于 2013-04-01T13:34:04.620 に答える
0
read -p " Ici mon texte " continue

それはラズパイで動作します

于 2016-04-26T09:18:40.997 に答える