2017-06-28 2 views
0

私は「NO NAME」「NO NAME」

という名前の親指ドライブを持っているという名前のないディレクトリに変更し、私はこのサムドライブのパスを見つけるだろうし、そのthumdriveにディレクトリを変更しますシェルスクリプトを書きたいです。

次のコードが正常に

export usb=$(system_profiler SPUSBDataType | grep -oE '/Volumes/.*$' | tail -1) 

/NO NAMEを/ボリュームをプリントアウトしません私の問題は、私は

cd $usb 

以下のコマンドを実行しようとすると、私は彼らに何のディレクトリを言っていないエラーが出るということです名前:Volumes/NO

明らかに「NAME」はスペースを挟んでいるためにピックアップされませんが、これを修正するにはどうすればよいですか?私はそのディレクトリパスを変数に代入してディレクトリを変更するための変数を呼び出すというアイデアを捨てるつもりはないし、私もusb名を変更することはできない。

すべてのヘルプは大歓迎です!

答えて

1

あなたは、パスを引用符で囲む必要があります:あなたが前に使用を「展開」シェル変数を使用する場合

cd "$usb" 

実際には、あなたは常にそれを行う必要があります。

+0

Owrlowski私はすでにこれを試していますが、次のエラーが出ます:./file.sh:2行目:cd: "??:そのようなファイルまたはディレクトリがありません –

+0

と' system_profiler SPUSBDataType | grep -oE '/Volumes/.*$' |テール-1? –

+2

@python_beginner_coder単純なASCIIの二重引用符ではなく、ユニークなユニコードの引用符を使用しています。あなたは "有益に"あなたに "スマートな引用符"変換を行っているテキストエディタを使用しているかもしれません - これはシェルスクリプトをひどく壊します。エディタでこの機能をオフにするか、このようなタイプ入力をしないエディタを使用するか(私は[BBEdit](http://www.barebones.com/products/bbedit/index.html)が好きです) )。 –