![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
echo aaa | ./start.sh
上記のようなことをした際、
./start.shに
stty -echo
等のsttyコマンドがあると、
stty: : そのようなデバイスもアドレスもありません。
というメッセージが出力されます。
(実際には正常に処理されています。)
start.shは文末のようなものです。
これを実行すると
% echo aaa | ./start.sh
stty: : そのようなデバイスもアドレスもありません。
please input password:
stty: : そのようなデバイスもアドレスもありません。
aaa
%
となり、「aaa」はちゃんと渡せています。
■質問1
なぜこのようなエラーが出るのか。
■質問2
なぜ上記のようなエラーが出ているのに、
値が渡せているのか。
参考になるような情報でもかまいませんのでよろしくお願いします。
start.sh
#!/bin/sh
stty -echo
echo "please input password:"
read PASSWORD
stty echo
echo $PASSWORD
No.1ベストアンサー
- 回答日時:
>なぜこのようなエラーが出るのか。
stty は標準入力デバイスの設定を表示・変更するコマンドです。デバイスが端末であることを前提としています。パイプにすると標準入力が端末で無くなるのでコマンドが想定していないためエラーになります。
>なぜ上記のようなエラーが出ているのに、値が渡せているのか。
sttyコマンドだけがエラーなので、それ以外の行は正常に実行されます。
echo "please input password:"
read PASSWORD
echo $PASSWORD
は、正常に実行されるため、入力データが表示されることになります。
stty コマンドをシェルスクリプト中で使うときは、test コマンドで、標準入力が端末かどうか調べて、端末のときだけ実行されるようにします。
test -t 0 && stty -echo
もしくは、
if test -t 0
then stty -echo
fi
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- PHP PHP MySql ページング 2 2022/09/20 06:38
- 据え置き型ゲーム機 【 Xbox Series X|S 】BIOHAZARD 5、ローカル協力プレイ (2-2) 1 2023/05/01 15:36
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SCコマンドでアクセス拒否
-
shutdownコマンドをキャンセル...
-
echo $!の意味を教えてください
-
Excel下部のメニューが消えた
-
コマンドプロンプトでMsgを送信...
-
DOSコマンドについて
-
UNIX コマンドにおける # や円...
-
google chrome 拡張機能をコン...
-
Ctrl+Zで戻りすぎた場合、逆に...
-
ドメインユーザー確認方法
-
レコーダー換装用のHDDのAVコマ...
-
sedコマンド置換について(マッ...
-
aquos HDD交換品について
-
Linuxでコマンドが終了しない
-
compressコマンドってなくなっ...
-
Linuxコマンドは何の言語で書か...
-
ls -lコマンドで表示される合計...
-
cd-romドライブを閉じる コマ...
-
[バッチファイル]レジストリ値...
-
top などのプロンプトに戻らな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
SCコマンドでアクセス拒否
-
[バッチファイル]レジストリ値...
-
Ctrl+Zで戻りすぎた場合、逆に...
-
Excel下部のメニューが消えた
-
このエラー内容について教えて...
-
vbaで「最前面に」とする方法は?
-
「環境変数名の編集」ウィンド...
-
【Gmailコマンド】1年以上前の...
-
アクセスのボタンから指定のワ...
-
AIXでの文字コード、改行コード...
-
コマンドプロンプトにおけるコ...
-
iqoo neo 9と言うスマホがある...
-
Linuxコマンドは何の言語で書か...
-
ワイルドカードを使ってでフォ...
-
compressコマンドってなくなっ...
-
VBAを使って電源を切るには?
-
shutdownコマンドをキャンセル...
-
Linux:sedコマンドで置換がし...
-
Linuxでコマンドが終了しない
おすすめ情報