
Linuxの次のシェルスクリプトについておしえてください。
------------------------------------------
echo $USERPASS | passwd --stdin $USERNAME
------------------------------------------
echo $USERPASSが表示なのはわかります
| がパスなので表示がpasswdの入力になるのもわかります
--stdinがそれを受けとってるらしいのもわかります
$USERPASS、$USERNAMEの意味もわかります
でもなんだか「passwd --stdin $USERNAME」がよくわからないんです。
「passwd $USERNAME --stdin」と書いても同じ結果になるし、2個も3個も受け取るときはどう書けばいいのか
「--stdin」の説明を探したんですが見つかりません
どなたか教えてください
No.3ベストアンサー
- 回答日時:
>「--stdin」って他のどんなコマンドで使われてますか?
たまたま、passwdで標準入力から…という動作を切り替えるオプションスイッチの名前が「--stdin」だっただけの問題です。
他のコマンドでは別の名前だったり、そもそもそんな切り替えが不可能な場合だってあったりするでしょう。
>また日本語で書かれたマニュアル、よいサイトご存知でしたら教えていただけませんか?
検索すると見つかると思いますけどね。
http://linuxjm.sourceforge.jp/html/shadow/man1/p …
とか。
# http://linuxjm.sourceforge.jp/index.html がJM Projectのページ。
ディストリビューションが不明ですが、日本語のmanページが用意されている場合もあります。
Redhat系列なら man-pages-ja ってパッケージ名で用意されていたりします。
# ただし、全てのmanページが入っているワケではないですし、翻訳タイミングの関係から内容が古い場合もあります。
No.2
- 回答日時:
man passwd
でマニュアルを読みましょう。
-で始まる引数は、大抵は「オプション」です。
オプションは、コマンド毎に違うので、詳細は、そのコマンドのマニュアルで調べることになります。
passwdのマニュアルを調べると、このオプションは、通常は端末からのキー入力になるものを、標準入力からの入力に変更するためのものです。
コマンドの引数の順番は、コマンド毎に違い、順番に意味があるので入れ替え不可能なものもあれば、順不同のものもあります。
passwdの場合
passwd --stdin $USERNAME
も
passwd $USERNAME --stdin
も
「--stdinオプションを有効にして、ユーザー『$USERNAME』のパスワードを変更」
という同じものになっています。
> | がパスなので表示がpasswdの入力になるのもわかります
|は「パイプライン」あるいは単に「パイプ」と言います。
前段コマンドの標準出力を、後段コマンドの標準入力とします。
この回答への補足
Wr5さん、kmeeさん有り難うございます。
マニュアル見てみました、マニュアルがあるのは知ってましたが初めてみました。
英文なのでよくわかりませんが、記載いただいてるような内容のようです。
使ってみて思うように動作ししてるんですが、なんかシックリしないんですよ。
「--stdin」って他のどんなコマンドで使われてますか?
また日本語で書かれたマニュアル、よいサイトご存知でしたら教えていただけませんか?
No.1
- 回答日時:
>| がパスなので表示がpasswdの入力になるのもわかります
「パイプ」です。
>「passwd $USERNAME --stdin」と書いても同じ結果になるし
引数の順番が重要。というワケではないでしょうから、入れ替えても問題は無いのでしょう。
cpとか引数の順番に意味がある場合は入れ替えると正しく動作しないでしょうけど、passwdの場合は順番は影響しないのでしょう。
# 引数無しでも動作しますしね。
>2個も3個も受け取るときはどう書けばいいのか
一人のパスワードの設定で2個も3個も…とは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
ワイルドカードを使ってでフォ...
-
vbaで「最前面に」とする方法は?
-
Excel下部のメニューが消えた
-
compressコマンドってなくなっ...
-
AIXでの文字コード、改行コード...
-
Ctrl+Zで戻りすぎた場合、逆に...
-
gemコマンド yumコマンド
-
コマンドプロンプトにおけるコ...
-
SCコマンドでアクセス拒否
-
シェルスクリプト内のコピーコ...
-
「環境変数名の編集」ウィンド...
-
Fedora15、dovecotpwの使い方
-
browstat を実行したい
-
クイックアクセスツールバーに...
-
ls -lコマンドで表示される合計...
-
コマンドフック、壁紙にも貼れ...
-
[バッチファイル]レジストリ値...
-
gfortranでmakefile
-
mv コマンドのエラーコード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
shutdownコマンドをキャンセル...
-
UNIX コマンドにおける # や円...
-
至急です、Ubuntuに詳しい方助...
-
ワイルドカードを使ってでフォ...
-
SCコマンドでアクセス拒否
-
コマンドプロンプトにおけるコ...
-
Linuxコマンドは何の言語で書か...
-
compressコマンドってなくなっ...
-
[バッチファイル]レジストリ値...
-
Excel下部のメニューが消えた
-
AIXでの文字コード、改行コード...
-
vbaで「最前面に」とする方法は?
-
Linuxでコマンドが終了しない
-
「環境変数名の編集」ウィンド...
-
UNIXのコマンドが使えないんです
-
アクセスのボタンから指定のワ...
-
JP1での保留Job一覧取得につき...
-
windows10を使っています。 wsl...
-
Solarisでiノード数を確認する...
-
レコーダー換装用のHDDのAVコマ...
おすすめ情報