2016-03-25 3 views
3

における不正オプション-sが、私はこのコードを実行しようとした:コマンドで読む:シェルスクリプト

#!/bin/bash 
read -s "Password: " password 

run sh init.sh 

は、それがエラーをスローします:read: Illegal option -s。助けてください。

+1

これはRubyとは関係ありません。 – sawa

+0

だからシェルについてはどうですか? – Vicky

答えて

0

あなたはpromptため-pオプションを使用する必要があります。

read -sp "Password: " password 

help readを1として:

-p prompt output the string PROMPT without a trailing newline before 
      attempting to read 
+1

私は 'read'の新しいオプションを発見しました。 +1してください。 – SLePort

+0

しかし、行方不明の改行にはあまりにも悪いです。 – SLePort

+3

ここには問題はありません。 –

5

は、私は、Debian/Ubuntuの、またはBSD誘導体を使用しているそれを取りますか?

run sh init.shのようなコマンドを実行すると(私はこのrunコマンドに精通していませんが)、#!/bin/bashシバンを上書きしています。あなたの場合、shは、dashのような厳密に準拠したPOSIXシェルです。実際には、readの唯一の引数は、拡張子ではなく、-rです。

代わりにrun bash init.shを代わりに使用したいですか?