realpath --quietオプションの使い方|エラー非表示で静かに動かすLinuxコマンド解説
生徒
「先生、Linuxでパスを取得するrealpathって便利ですけど、エラーが出て見にくくなることがあるんです…」
先生
「それなら、--quietオプションを使うといいですよ。不要なエラー表示を抑えて、静かに動作させることができます。」
生徒
「それって、-qと同じ意味ですか?」
先生
「そうです!-qの正式な書き方が--quietなんですよ。じゃあ実際に使い方を見ていきましょう!」
1. realpathコマンドとは?
realpathは、Linuxでファイルやディレクトリの絶対パスを表示するための便利なコマンドです。
絶対パスとは、システム内でファイルの場所を完全に特定できる形のパスのことです。
次のように使います:
realpath ./sample.txt
/home/user/Documents/sample.txt
このように、相対パスが分かりやすい絶対パスに変換されます。
2. --quietオプションとは?
--quietはrealpathコマンドにおける「静かに実行する」ためのオプションです。
ファイルが存在しなかったり間違ったパスを指定しても、エラーメッセージを表示しないようにしてくれます。
正式なロングオプション名が--quietで、-qとまったく同じ意味になります。
3. 通常実行と--quietの違い
まずは、存在しないファイルを指定したときの通常のrealpathの動作を見てみましょう。
realpath notfound.txt
realpath: notfound.txt: No such file or directory
このように、ファイルが見つからないと赤文字でエラーが出てしまいます。
それに対して、--quietをつけると…
realpath --quiet notfound.txt
何も表示されません。これは「失敗したけど静かにしてる」状態です。
4. --quietと-qの関係
-qはショートオプション、--quietはロングオプションで、どちらもまったく同じ働きをします。
Linuxでは、短く書きたいときは-q、読みやすく正確に書きたいときは--quietを使うのが一般的です。
たとえば、スクリプトの中で明示的に意味を示したいときは、--quietの方がわかりやすくておすすめです。
5. スクリプトでの活用例
存在しないファイルを処理するときに毎回エラーを出されると、ログが汚れてしまいます。
そんなとき、--quietを使えば無駄な出力を抑えられます。
#!/bin/bash
path=$(realpath --quiet "$1")
if [ -n "$path" ]; then
echo "見つかりました:$path"
else
echo "指定されたパスは存在しませんでした"
fi
このようにすれば、存在チェックをスマートに処理できます。
6. 他のオプションとの併用
--quietは他のオプションと一緒に使えます。例えば、--stripと組み合わせれば、エラーを抑えつつパスを正規化できます。
realpath --quiet --strip ./../missing.txt
このように、「ファイルがなくてもとりあえずパスだけ整理したい」といった場面で役立ちます。
7. 注意点と使いどころ
- 存在しないファイル名を指定しても黙って失敗するため、戻り値のチェックが必要
- デバッグ中はあえて
--quietを外して、エラーを見たほうが分かりやすい - 大量のパスを処理するスクリプトなどでは、ログがきれいになって可読性が向上
つまり、「ユーザーに見せたくないエラー」や「ログを静かに保ちたい」場合におすすめのオプションです。
8. readlinkとの違いにも注意
readlinkは似たような用途で使えるコマンドですが、デフォルトで相対パスを返します。
一方で、realpathは絶対パスを出力してくれるため、スクリプトやシステム設定で使うにはこちらの方が適しています。
また、readlinkには--quietのようなオプションがないため、用途に応じて使い分けが必要です。