Mac
 Computer >> コンピューター >  >> トラブルシューティング >> Mac

Bash および Zsh の「cd:引数が多すぎます」を解決する – 5 つの簡単な修正

目的のディレクトリに入るために cd と入力すると、コマンド シェルで生成されるエラー コード「bash:cd:too many argument」または「zsh:cd:too many argument」に困惑したはずです。

ご心配なく。この記事では、 cd:too many argument が発生する理由とzsh/bash cd:too many argument を修正する方法について説明します。 5 つの便利な修正が含まれています。

「Zsh/Bash:cd:too many argument」エラーが発生するのはなぜですか?

いつものように、cd コマンドラインに続けてファイルパスを入力すると、コマンド シェルはディレクトリを直接開きます。引数としてディレクトリ名を受け取り、現在のシェル環境の作業ディレクトリを指定されたディレクトリに置き換えます。

引数が指定されていない場合、cd コマンドは、HOME 環境変数で指定されたディレクトリが引数として指定されたかのように動作します。ただし名前にスペースや特殊文字が含まれるディレクトリを入力すると、 Unix シェルでは、それらは複数の引数として識別されます。このため、bash コマンド シェルにエラー コード cd:引数が多すぎます。

 注:zsh コマンド シェルを実行している場合、「cd:string not in pwd」というエラーが発生する可能性があります。 : " スペースを含むパスに cd しようとしたとき。

Bash および Zsh の「cd:引数が多すぎます」を解決する – 5 つの簡単な修正

Unix Shell が一度により多くのディレクトリにアクセスできるのではないかと疑問に思う人もいますが、答えは完全にノーです。さらに多くのディレクトリを入力したい場合は、cd コマンドを 1 つずつ実行する必要があります。

この投稿を読んで、なぜ口論が多すぎるのかという疑問が払拭された場合は、下の [共有] ボタンをクリックして、より多くの人々を助けてください。

bash:cd:引数が多すぎます、および zsh:cd:string not in pwd:? を修正する方法

上で説明したように、Unix シェルはディレクトリ内に特殊文字とスペースを含む引数が複数あることを認識するため、ディレクトリへの切り替えに失敗します。このような場合に備えて、読み続けることをお勧めします。この記事では、CD を適切に機能させるための 4 つの簡単な解決策を紹介します。

解決策 1:ディレクトリ名を二重引用符で囲みます

cd コマンドを特殊なディレクトリに正常に切り替える簡単な解決策の 1 つは、ディレクトリ名を二重引用符で囲むことです。

ステップ 1:コンピュータでターミナルを起動します。

ステップ 2:cd と入力し、二重引用符記号を入力します。

ステップ 3:スペースまたは特殊文字を含むファイル パスを二重引用符で囲んで入力します。

cd "新しいフォルダー"

ステップ 4:Enter/Return キーを押します。 キーを押して cd コマンド ラインを実行すると、入力したディレクトリにディレクトリが変更されることがわかります。新しいディレクトリでさらにアクションを実行できるようになります。

Bash および Zsh の「cd:引数が多すぎます」を解決する – 5 つの簡単な修正

さらに、ディレクトリへのパス全体をラップすることも、スペースまたは特殊文字を含むパス コンポーネントのみを二重引用符で囲むこともできます。

解決策 2:バックスラッシュを使用してスペースを避ける

ディレクトリ内にスペースがある場合、Unix シェルの cd コマンド ラインはスペースを 2 つ以上の引数に分割します。したがって、スペースをエスケープするためにバックスラッシュがここに来ます。これにより、コマンド シェルはスペースを引数間の区切り文字としてではなく、リテラルのスペース文字として扱います。

ステップ 1:マシン上でターミナルを実行します。

ステップ 2:cd と入力し、切り替える予定のディレクトリをたどります。

ステップ 3:ディレクトリ名のスペースにバックスラッシュを追加します。スラッシュはパス コンポーネント間の区切り文字として機能し、バックスラッシュはスペース エスケープ ツールセットとして機能することに注意してください。

cd デスクトップ/私の\ 新しい\ フォルダ

ステップ 4:Return/Enter キーを押します。 キーを押して、CD を新しいディレクトリに移動させます。

Bash および Zsh の「cd:引数が多すぎます」を解決する – 5 つの簡単な修正

解決策 3:Tab キーを使用してオートコンプリートを行う

Windows、Linux、macOS のコマンドライン プログラムでは、Tab キーを使用して指定されたコマンドを自動的に完了できます。たとえば、Unix コマンド プロンプトでは、これは別のディレクトリにすばやく切り替える良い方法となります。

ステップ 1:デバイスでコマンド シェルを開きます。

ステップ 2:移動するパスの入力を開始します。

ステップ 3:タブを押します。 キーボードの キーを押すと、オートコンプリート機能を簡単に利用できます。

類似した名前のフォルダーが複数ある場合は、名前の最初の数文字を入力して、cd 先のフォルダーを識別する必要があります。オートコンプリートが機能しない場合は、指定されたパスが存在しないことを示しています。

解決策 4:宛先ディレクトリでターミナルを開きます

今後の作業のためにコマンド シェルでディレクトリを開くことが目的なので、cd の入力に固執しないでください。宛先ディレクトリでターミナルを開いても同じ効果があります。

Linux を実行している場合は、以下の段階的な手順をお読みください:

ステップ 1:エクスプローラーでディレクトリを開きます。

ステップ 2:右クリックして [ターミナルで開く] を選択します。 その後、コマンド シェルに戻って続行できます。

macOS デバイスを実行している場合は、詳しく説明されている次の手順に従うことができます。

ステップ 1:Finder ウィンドウを開き、フォルダーに移動します。 Finder ウィンドウの下部にパス バーが表示されない場合は、[表示] を選択します。 -> パスバーを表示 .

ステップ 2:入力するフォルダー ディレクトリを右クリックし、フォルダーの新しいターミナルを選択します。 .

Bash および Zsh の「cd:引数が多すぎます」を解決する – 5 つの簡単な修正

その後、ターミナルが作業中のディレクトリに切り替わることがわかります。

解決策 5:フォルダーをターミナル ウィンドウにドラッグします

上記のすべての解決策が気に入らない場合、試してみる価値のある最終的な解決策は、単にフォルダー ディレクトリをターミナル ウィンドウにドラッグすることです。ターミナルを起動し、フォルダー ディレクトリを左クリックしてウィンドウにドラッグするだけで、新しいディレクトリ パスに移動します。

bash:cd:too many argument/zsh:cd:string not in pwd:を正常に解決した場合は、この記事を共有してより多くの人を助けてみませんか?

おまけのヒント:CD を最大限に活用するにはどうすればよいですか?

コマンド シェルの初心者、またはターミナルに大きな情熱と好奇心を持っている場合は、この記事で説明するさまざまな cd コマンド ラインが役立つはずです。ここで簡単に見てみましょう:

  • CD :cd を単独で実行するか、cd ~ を実行すると、ユーザーは常にホーム ディレクトリに配置されます。
  • cd . :CD。ユーザーは現在いるディレクトリに残ります (つまり、現在のディレクトリは変更されません)。これは、ユーザーのシェルの内部コードが再作成中のディレクトリを処理できない場合に便利です。 CD を実行します。シェルは再作成されたディレクトリに配置されます。
  • cd ~ユーザー名 :cd ~ username は、ユーザーをユーザー名のホーム ディレクトリに置きます。
  • CD ディレクトリ (/ なし):cd dir はユーザーをサブディレクトリに置きます。たとえば、ファイルが /usr にある場合、「cd bin」と入力すると /usr/bin に配置され、「cd /bin」と入力すると /bin に配置されます。
  • CD .. :cd.. はユーザーを 1 つ上のディレクトリに移動します。したがって、それらが /usr/bin/tmp である場合、 cd .. はそれらを /usr/bin に移動し、 cd ../.. はそれらを /usr に移動します (つまり 2 レベル上)。ユーザーはこの間接化を使用してサブディレクトリにアクセスすることもできます。したがって、/usr/bin/tmp から cd ../../local を使用して /usr/local に移動できます。
  • CD - :cd - ユーザーを前のディレクトリに切り替えます。たとえば、/usr/bin/tmp にいて、/etc に移動する場合、「cd -」と入力して /usr/bin/tmp に戻ることができます。ユーザーはこれを使用して、pushd や Popd を使用せずに 2 つのディレクトリ間を行き来できます。

まとめ

この記事では、このエラーを消すための 5 つの簡単な解決策を紹介しているので、「cd:too many argument」エラーはあなたが想像するほど恐ろしいものではありません。 cd を使用して、相対ディレクトリに入る方法を 1 つ以上試してみることができます。さらに、この記事で詳しく説明されている cd コマンド ラインの使用方法を説明する素晴らしいコンテキストを見つけることができます。

Bash および Zsh の「cd:引数が多すぎます」を解決する – 5 つの簡単な修正

Mac で Zsh 権限が拒否される理由と、Mac での権限の変更を含む Mac 権限拒否エラーの修正方法について説明します。


  1. macOS での Time Machine ローカル スナップショット作成エラーを解決する方法

    Time Machine は Mac をバックアップするための組み込みユーティリティであり、多くの Mac ユーザーに選ばれています。 Apple が High Sierra で APFS の最初のバージョンをリリースしたとき、その新しいスナップショット機能が Time Machine に統合されました。それ以降、APFS ボリュームの各バックアップには、安定したスナップショットとも呼ばれるローカル スナップショットの作成が含まれるようになります。 作成後、Time Machine はこの安定したスナップショットと以前のバックアップで作成された参照スナップショットをマウントし、バックアップ

  2. Mac で Chromecast をセットアップして使用する方法の簡単なガイド

    Google Chromecast は、スマートフォン デバイスまたはコンピュータを使用してテレビでビデオ、映画、その他のメディアを再生できるようにするために使用できる安価なデバイスと見なされています。 ただし、Mac で Chromecast を使用するのは、Android デバイスで Windows を使用するのとは多少異なります。 Mac で Chromecast をセットアップして使用する方法について知りたい場合は、 みんなが読んでいる:Mac で AirDrop を使用してファイルを共有するためのクイック ガイドMac のディスク領域を解放するにはどうすればよいですか? [2