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キーが押されるのを待ちます(一時停止のように)。
私はチェックして、$ SHELLはbashでした。 so/bin/shはbashを起動します。私が間違っている? –
@mohammadhmontazeri '/ bin/sh'は、' $ SHELL'ではなく、 '/ bin/sh'のシェルを起動します。さらに、 '/ bin/sh'が('/bin/sh 'が 'bash'へのシンボリックリンクである場合)' bash 'を開始すると、多くの機能が無効になります。 –
@mohammadhmontazeri詳細については、http://mywiki.wooledge.org/BashGuide/Practices#Choose_Your_Shellを参照してください。 –