【初心者】ターミナルにおける入力文字のエラーについて

はじめてお訊ねします、あまりに初歩的なものかもしれませんがお許し下さい。


私の環境を簡単に説明しますと、以下の通りです。

Mac OS X 10.6.8 (10K549)

MacBookPro8,2(4GB / 750GB HDD)

Time Capsule(4th generation)3TB

「共有」のコンピュータ名:MM MBP(SnowLeopard)

AirMacのネットワーク名:ウッディの上TC(b0718d)

Time Capsuleのボリューム名:For Time Machine


今年に入って、下記のディスカッションと同じトラブルに2度も見舞われました。


「新規バックアップが必要」というメッセージがでてくる

https://discussionsjapan.apple.com/thread/10088261


上記ディスカッションの内容で解決できるはずと認識しているのですが、

肝腎なターミナルの操作で以下のエラーが出てきて進められません。


・chflags -R nouchg /Volumes/{ドライブ名}/{マシン名}.sparsebundleに対して私の環境に照らして

root# chflags -R nouchg /Volumes/For Time machines/MM MBP(SnowLeopard) 1.sparsebundle

と入力したところ、


-sh: syntax error near unexpected token `('


このあと

MM-MBP-SnowLeopard:~ root#

の状態に戻るので、コマンドが受け付けられなかったものと認識されます?


また、便宜的にファイル名から()をとると、


chflags: /Volumes/For: No such file or directory

chflags: Time: No such file or directory

chflags: machines/MM: No such file or directory

chflags: MBPSnowLeopard: No such file or directory

chflags: 1.sparsebundle: No such file or directory


というエラーが返ってきてしまいます。

パス上の半角スペースでいちいち個別のディレクトリと誤解されたようですので、

苦肉の策でパスをHTMLリンク(/Volumes/For%20Time%20machines/MM%20MBPSnowLeopard%201.sparsebundle)

で入力しても


No such file or directory


しか返ってきません。


ターミナルにおいて、『(』(半角カッコ)は認識されないのでしょうか?

私の環境で修復ができる方法があればどうか教えてください。


本来ならば上記ディスカッション内でお訊ねするのが適当かもしれませんが、

Time MachineやMac OS 10.6に直接由来する問題でもないと思われましたので

新規に立てさせていただきました。


知識のある方にはあまりに幼稚な質問かもしれませんが、

何とぞお力をお借りしたくよろしくお願いいたします。

MacBook Pro (15-inch Early 2011), Mac OS X (10.6.8)

投稿日 2013/03/14 17:51

返信
返信: 8

2013/03/14 17:55 Schagerl への返信

Schagerl による書き込み:



ターミナルにおいて、『(』(半角カッコ)は認識されないのでしょうか?

クオーテーション又はダブルクオーテーションで囲むこと。

そもそも、名称にスペースを入れないこと(どうしても判別したければ、アンダーバー_を使う)。

2013/03/14 18:00 Schagerl への返信

コマンドラインでは空白文字はそのまま入力できません(コマンドやパラメータの区切り文字としてスペースが使用されるため)。

クォーテーションで囲む方もありますが、バックスラッシュでエスケープする方法もあります。


例:

root# chflags -R nouchg /Volumes/For\ Time machines/MM\ MBP(SnowLeopard)\ 1.sparsebundle


なお、Finderでファイル(フォルダ)を選択して copy をし、ターミナル上で paste すると、上記のようにスペースをエスケープした状態でパスをペーストすることが可能です。

2013/03/14 18:07 xy への返信

xy さん、 早々のコメントありがとうございます。 >そもそも、名称にスペースを入れないこと 私は元々Mac OS(classic)環境を使ってきましたので、スペースがこうした問題を ややこしくするというのを最近知りました。 比較的新しいファイルではご指摘どおりアンダーバーを使用するよう努めていますが、 上記の環境は以前からのものを引き継ぎ続けた事に由来します。 クオーテーションによって半角カッコは認識できましたが、やはりスペースのせいで ディレクトリが認識できないようです。 恥ずかしながら、Time Capsuleの内蔵ボリュームの名称変更方法すら解りません。 どうにか解決できるのでしょうか…?

2013/03/14 18:18 Schagerl への返信

/Volumes/"For Time machines"/"MM MBP(SnowLeopard)".sparsebundle


コンピュータ名は単純な英数字にすること、スペースも無しに。

Schagerl による書き込み:


Time Capsuleの内蔵ボリュームの名称変更方法すら解りません。


Time Capsuleにログインし、ディスク共有(?)のタブで、名称を変更できたのでは。

先にアンマウントしておくこと。


このメッセージは次により編集されています:xy

2013/03/14 18:21 Hit-C への返信

Hit-Cさん、


こちらも早々ありがとうございます。

コマンドラインで「スペースが意味を持つ事」は薄々感じていましたが、

ファイル(フォルダ)名称に含まれた場合の扱いを存じませんでした。


Mac OS XでのFinder上のコピー/ペーストに、そうした使い方があるとは知りませんでした。

データの複製や移動をするというのは、その実UNIXレベルでの処理だったのですね。


お蔭さまで前述ディスカッションどおりに進められそうな予感です、

ご解説本当にありがとうございます。

2013/03/14 18:24 Schagerl への返信

クオーテーションによって半角カッコは認識できましたが、やはりスペースのせいで ディレクトリが認識できないようです。


要は、文字列・パスとして認識させたいところを括ればよいので、極端な話、


"/Volumes/For Time machines/MM MBP(SnowLeopard) 1.sparsebundle"


とか、


'/Volumes/For Time machines/MM MBP(SnowLeopard) 1.sparsebundle'


でもかまいませんが。

2013/03/14 18:49 xy への返信

xyさん


たびたびのご解説ありがとうございます。

クオーテーションの用法にはバリエーションがあるのですね。

ディレクトリを認識させる事ができたので共有ボリュームの名称変更は

今はしない事にしますが、また何か更新の際に使わせていただきます。

ご親切にお教え下さりありがとうございます。

2013/03/14 18:53 NO9 への返信

NO9さん


ありがとうございます。


なるほど、そんなダイナミックな扱いもできるのですね。

いわゆる「特定文字列」の扱いとして考えれば良いのでしょうか。

コマンドラインは本当に触ってこなかったので、困った時に不勉強が祟ります。


ご親切なコメントありがとうございました。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

【初心者】ターミナルにおける入力文字のエラーについて

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。