13,308
回編集
細 (文字列「__FORCETOC__」を「{{#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 pag…) |
|||
| 129行目: | 129行目: | ||
== ファイルの処理 == | == ファイルの処理 == | ||
==== ワイルドカードの使用 ==== | ==== ワイルドカードの使用 ==== | ||
ワイルドカード(*)を使用して、カレントディレクトリ内のファイルを順に処理することができる。 | ワイルドカード(*)を使用して、カレントディレクトリ内のファイルを順に処理することができる。<br> | ||
以下の例では、全てのファイルを繰り返し処理している。 | 以下の例では、全てのファイルを繰り返し処理している。<br> | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
for FILENAME in *; do | for FILENAME in *; do | ||
| 137行目: | 137行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
特定の拡張子を持つファイルのみを列挙する場合は、以下のように記述する。 | 特定の拡張子を持つファイルのみを列挙する場合は、以下のように記述する。<br> | ||
以下の例では、全てのPNGファイルを繰り返し処理している。 | 以下の例では、全てのPNGファイルを繰り返し処理している。<br> | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
for PNGFILE in *.png; do | for PNGFILE in *.png; do | ||
| 145行目: | 145行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
また、次のように1行で記述することもできる。 | また、次のように1行で記述することもできる。<br> | ||
<syntaxhighlight lang="sh"> | <syntaxhighlight lang="sh"> | ||
for PNGFILE in *.png; do echo "$PNGFILE"; done | for PNGFILE in *.png; do echo "$PNGFILE"; done | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
ワイルドカードを使用する場合、アスタリスク(*)をクォートの中に入れると、シェルによるワイルドカードの展開が行われない。<br> | |||
<br> | |||
<syntaxhighlight lang="sh"> | |||
# 推奨する記述 | |||
## パス部分は安全にクォートされて、アスタリスクはワイルドカードとして機能する | |||
rm -r "$HOME/.cache/"* | |||
# 間違った記述 | |||
## アスタリスクがクォート内にあるため、*は文字列として扱われてワイルドカードとして機能しない | |||
rm -r "$HOME/.cache/*" | |||
## パスにスペースが含まれている場合、パスが正しく解釈されない | |||
## また、変数が未定義の場合、意図しない動作につながる可能性がある | |||
rm -r $HOME/.cache/* | |||
</syntaxhighlight> | |||
<br> | |||
==== findコマンドの結果の使用(再帰処理) ==== | ==== findコマンドの結果の使用(再帰処理) ==== | ||
以下の例では、findコマンドで検索したファイルを、while文で順に処理している。 | 以下の例では、findコマンドで検索したファイルを、while文で順に処理している。 | ||