【Mac/Terminal】ディレクトリやファイル名の空白文字をエスケープする方法2種

Mac
スポンサーリンク

Macのターミナル(Terminal.app)では、半角スペース文字はコマンドやオプションの「区切り文字」と認識する為、ディレクトリ名やファイル名に半角スペースが入っている場合、そのまま入力してもうまく動作しません。
(Macに限ったことではありませんが。)

例として、以下のコマンドをターミナルで入力してみます。
指定ディレクトリに移動するコマンドですが、「Data SSD」に半角文字が入っている為、「そんなディレクトリやファイルは無いよ!」とメッセージが表示されます。

因みに、ボリュームもディレクトリも確かに存在します。

cd /Volumes/Data SSD/Users/tamoc

//エラー表示される
-bash: cd: /Volumes/Data: No such file or directory

今回はそんな時の解決方法2つ紹介します。

スポンサーリンク

解決方法1:クォテーションで囲む

対象のディレクトリ名やファイル名をクォテーションで囲むことにより、ディレクトリやファイル名内のスペース文字が認識されます。

シングルクォテーション「’」、ダブルクォテーション「”」どちらでもOKです。

//ダブルクォートをパス全体で囲みます。
cd "/Volumes/Data SSD/Users/tamoc"

//スペースが入っている部分だけでもOK。
cd /Volumes/"Data SSD"/Users/tamoc

//シングルクォートでもOK。
cd '/Volumes/Data SSD/Users/tamoc'

解決方法2:半角スペース文字をエスケープする

cd /Volumes/Data\ SSD/Users/tamoc

ポイントは、半角スペース文字をバックスラッシュでエスケープしている所です。

バックスラッシュ「\」は、日本語キーボードの場合、 option ⌥ + ¥で入力します。

また、ターミナルには、自動的にエスケープしてくれる機能があります。

やり方は、クリップボード内にパスをコピーしてから、
ターミナルのメニューから「編集」→「テキストをエスケープしてペースト」を選択します。
以下のショートカットキーでもOKです。

control ⌃ +command ⌘ + V

パス名に多くのスペース文字や特殊文字が入っている場合には非常に便利な機能です。

Finderからパス名を取得する方法

因みに、Finderからパス名を取得する方法です。

  1. Finderでパス名を取得したいフォルダ内へ移動する。
  2. ウィンドウ下のパスバー内のフォルダを右クリックする。
  3. 「”○○○”のパス名をコピー」を選択する。

これでクリップボード上にパス名がコピーされます。

もし、パスバーが表示されていない場合は、Finderメニューの「表示」→「パスバーを表示」を選択します。

option ⌥ +command ⌘ + P

コメント

タイトルとURLをコピーしました