📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の3版が非表示) | |||
| 303行目: | 303行目: | ||
<span style="color:yellow">warn 'Warning message'</span> | <span style="color:yellow">warn 'Warning message'</span> | ||
<span style="color:green">info 'Information message'</span> | <span style="color:green">info 'Information message'</span> | ||
<br> | |||
==== 標準出力 / 標準エラー出力の抑制 ==== | |||
<code>>1>/dev/null</code>は、標準出力を破棄する。<br> | |||
<syntaxhighlight lang="sh"> | |||
./script.sh 1>/dev/null | |||
</syntaxhighlight> | |||
<br> | |||
<code>>2>/dev/null</code>は、標準エラー出力を破棄する。<br> | |||
<syntaxhighlight lang="sh"> | |||
./script.sh 2>/dev/null | |||
</syntaxhighlight> | |||
<br> | |||
また、<code>2>&-</code>でも、標準エラー出力を閉じることができる。<br> | |||
<syntaxhighlight lang="sh"> | |||
./script.sh 2>&- | |||
</syntaxhighlight> | |||
<br> | |||
==== ジョブ番号の出力の抑制 ==== | |||
ジョブ番号の出力を非表示にするには、いくつかの方法がある。<br> | |||
<br> | |||
* サブシェルを使用する。 | |||
*: 括弧でコマンドを囲むことにより、サブシェルで実行されてジョブ番号の出力を抑制する。 | |||
*: または、<code>$()</code>でコマンドを囲むことにより、サブシェルで実行される。 | |||
*: (aplay $HOME/Login.wav > /dev/null 2>&1 &) | |||
*: $(aplay $HOME/Login.wav > /dev/null 2>&1 &) | |||
<br> | |||
* <code>disown</code>コマンドを使用する。 | |||
*: ジョブがシェルのジョブ制御から切り離され、<u>ジョブ完了メッセージのみ</u>が非表示となる。 | |||
*: aplay ~/Sample.wav > /dev/null 2>&1 & disown | |||
<br> | |||
* シェルのオプションを変更する。 | |||
*: シェルスクリプトの冒頭に以下を追加することにより、ジョブ制御を無効にできる。 | |||
*: これにより、バックグラウンドジョブの状態変化の通知が抑制される。 | |||
*: <code>set +m</code> | |||
<br><br> | <br><br> | ||
| 554行目: | 588行目: | ||
> HOGE HOGE | > HOGE HOGE | ||
<br> | <br> | ||
プロセス置換に使用するコマンドは、単一のコマンドのみではなく、セミコロン区切りの複数コマンド、パイプやネストしたプロセス置換も指定可能である。<br> | |||
<br> | |||
以下の例では、diffコマンドを使用して、2つの入力ストリームの差分を表示している。<br> | |||
# echo "aaa"; echo "bbb" | |||
#: まず、aaaとbbbという2行からなる入力ストリームを生成する。 | |||
# < (echo "aaa"; echo "bbb") | |||
#: 上記の2行の入力ストリームになる。 | |||
#: <はdiffコマンドへのリダイレクトを意味しており、この入力ストリームをdiffの最初の入力として使用する。 | |||
# cat <(echo "aaa") | cat <(echo "BBB") | |||
#: <()はプロセス置換を意味する。 | |||
#: つまり、括弧内のコマンドの出力をファイルのように扱うことができる。 | |||
#: echo "aaa"の出力をcatに渡して、さらに、echo "BBB"の出力をcatに渡して、2つの出力を連結している。 | |||
#: 結果として、aaaとBBBという2行のストリームができる。 | |||
# echo "ccc" | |||
#: cccという1行のテキストを生成する。 | |||
# < (cat <(echo "aaa") | cat <(echo "BBB"); echo "ccc") | |||
#: この括弧内では、上記3.と4.を組み合わせて、aaa、BBB、cccの3行からなるストリームを生成している。 | |||
#: そして、<でこのストリームをdiffコマンドの2番目の入力としてリダイレクトしている。 | |||
<br> | |||
したがって、このコマンド全体では、aaaとbbbの2行からなるストリームと、aaa、BBB、cccの3行からなるストリームの差分をdiffコマンドで表示している。<br> | |||
# 実行 | # 実行 | ||
diff < (echo "aaa"; echo "bbb") < (cat <(echo "aaa") | cat <(echo "BBB"); echo "ccc") | diff < (echo "aaa"; echo "bbb") < (cat <(echo "aaa") | cat <(echo "BBB"); echo "ccc") | ||
| 567行目: | 619行目: | ||
> ccc | > ccc | ||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:シェルスクリプト]] | [[カテゴリ:シェルスクリプト]] | ||