& 演算子の動作は何ですか [複製]

& 演算子の動作は何ですか [複製]

私は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

ディレクトリがすでに存在する場合は失敗しません。

おすすめ記事