私はLinuxでコマンドを接続しようとしていますが、Ubuntu 14.04ディストリビューションを使用しています。目的は、ディレクトリを作成してそのディレクトリに入ることです。通常、私たちはこうしています。
mkdir foldername
cd foldername
これを試してみると完璧です。
mkdir gates
cd gates
期待どおりに動作します。しかし、使用すると、状況は期待どおりに機能しません。&
mkdir gates & cd gates
、動作しません。エラーはですno such file or directory
。 Enterキーを押すと、次のステップでディレクトリドアが作成されます。なぜこれが起こるのですか?しかし、ls & mkdir gates
うまくいくと思います。
答え1
&
~であるシェルの背景演算子;前のコマンドをバックグラウンドに置き続けます。
だから
mkdir gates &
cd gates
mkdir gates
バックグラウンドで起動してすぐに実行され、cd gates
ディレクトリを作成する前にディレクトリを変更しようとしますが、失敗します。
ls & mkdir gates
mkdir gates
何も依存しないので動作しますls
。何が起こるのかは、ls
バックグラウンドで開始してディレクトリリストを出力し、同時にディレクトリをmkdir
作成することです。gates
あなたは探しているかもしれません
mkdir gates && cd gates
mkdir
必要に応じてディレクトリを変更します。
mkdir -p gates && cd gates
ディレクトリがすでに存在する場合は失敗しません。