![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
みなさん、こんにちは。
Linuxのsh、bashのリダイレクトに関する質問です。
とあるサイトにて、下記のシェルスクリプトは何を表しているか?
という問題がありまして
# 【問題】ここから
#!/bin/sh
exec 3>&1
status=$({ { command1 3>&- 4>&-; echo $? 1>&4 3>&- 4>&-;} | command2 1>&3 3>&- 4>&-;} 4>&1)
if [ $status != 0 ]; then
...
fi
# 【問題】ここまで
問題の答え自体もよく分かっていないのですが、
その前に、「>&-」の部分が何を意図しているのかが理解できておりません。
「2>&1」で、標準エラー出力の出力先を、標準出力の出力先に切り替える。
という認識なのですが、「>&-」はどのような意味なのでしょうか。
どなたかご教示いただけないでしょうか。
No.1ベストアンサー
- 回答日時:
>&- は出力ディスクリプタをクローズすると言うことです。
シェルのマニュアル( man bash 等 )に書いてあります。この場合は、クローズしなくても特に動作には影響しないと思います。
(厳密にはcommand1やcommand2のプログラム次第ですが)
exec 3>&1
status=$({ { command1 ; echo $? 1>&4;} | command2 1>&3;} 4>&1)
で考えてみれば良いかと。これで難しければ、
status=$({ { command1 ; echo $? 1>&4;} | command2 1>/dev/tty ;} 4>&1)
返事が遅くなってしまいすみません。
>&- は、ディスクリプタのクローズを表しているのですね。
ご指摘のとおり、bashのマニュアルを解説しているサイトでも同様の記載を確認できました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をdiff.shとして、以下のように2つのテキストフ 1 2023/02/03 20:06
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- UNIX・Linux Linuxについて2つ質問したいです。 ① シェルスクリプト名をawk1.shとして、指定されたデー 1 2023/02/03 03:49
- 運転免許・教習所 規制標識について質問です。 AT車の問題で、 問題① 「原動機付自転車の右折方法(小回り)」の標識の 2 2022/07/16 21:56
- その他(プログラミング・Web制作) zshの例外処理 1 2022/06/02 16:36
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- Perl bashスクリプト 2 2023/02/10 21:01
- その他(学校・勉強) 大岩の英文法→英文法ポラリス1という流れで勉強しているんですが、ポラリスが難しくて解けません。 原因 1 2023/08/06 19:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
BシェルとBashの違い
-
『存在するかどうか分からない...
-
Cシェルでのファイルからの入...
-
シェルスクリプトで #!/bin/sh ...
-
HPのマシンでTABキーと矢...
-
.cshrc ファイルについて
-
シェルとシェルの間で環境変数...
-
Cシェル内でBシェルの様な関数...
-
mac os x10.6.4のターミナルでp...
-
Linux仮想コンソール?
-
ubuntuの端末の左にカレントデ...
-
Dirコマンドでフォルダ内ファイ...
-
父子家庭、 子供の進学費用を全...
-
エクセルの表にヘンな枠が・・・
-
SONYの音楽ソフト「x-アプリ」...
-
至急です、Ubuntuに詳しい方助...
-
Linux(Fedora)で外付けHDDが...
-
TOPコマンドで表示するCPU使用...
-
ファイル名についている「-」と...
-
batである文字列内に特定の文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Cシェル内でBシェルの様な関数...
-
ubuntuの端末の左にカレントデ...
-
シェルスクリプトで #!/bin/sh ...
-
バックスラッシュの意味がわか...
-
.cshrc ファイルについて
-
ターミナルが全く入力できない
-
export と set は違うの?
-
シェル 会話形式でエンターキ...
-
シェルスクリプトに関する問題...
-
BシェルとBashの違い
-
mac os x10.6.4のターミナルでp...
-
posixでshellを起動したとき`da...
-
『存在するかどうか分からない...
-
シェルスクリプトのbashとperl...
-
シェル(ksh)で変数にある文字列...
-
tcshなのにスクリプト構文中のs...
-
コンソールでの上下左右矢印ボ...
-
BシェルとCシェル
-
ps -aのセッションリーダとは
-
Cシェル内で自動ログアウトさせ...
おすすめ情報