cURLがサブシェルで実行されるのはなぜですか? [閉鎖]

cURLがサブシェルで実行されるのはなぜですか? [閉鎖]

私のCentOS 7コンピュータで次のコマンドを実行します。

$curl boxname:5000/page

出力は次のとおりです

$curl boxname:5000/page
[1] 55068

$ curl: (6) Couldn't resolve host 'boxname'

[1]+ Exit 6          curl boxname:5000/page

ホスト名を解決できないことを心配しません。予想されることです。問題は、なぜカールがサブシェルで実行されるのかです。終了コードを確認できるように、新しいジョブを作成したくない場合は必須です。

ベストアンサー1

実際のURLに引用されていない&文字が含まれている場合、そのポイントより前のコマンドはシェルでバックグラウンドで実行されるコマンドとして解釈されます。 URLの残りの部分は新しいコマンドとして扱われます。

コマンドラインでURLを指定するときは、必ずURLを引用してください。これはまた、URLの他の文字がシェル内の特殊文字(例:;etc. ?)として解釈されるのを防ぎます。

おすすめ記事