「cp p2&2&」コマンドを使用すると、Konsoleが消えます。バグですか?

「cp p2&2&」コマンドを使用すると、Konsoleが消えます。バグですか?

目的は、p2が他のプロセスによってデータを供給されるので、パイプp2からSTDOUTにデータをコピーするバックグラウンドプロセスを開始することです。

コマンドが間違っていると思います。ただし、Enterキーを押した直後にKonsoleアプリケーションウィンドウは消えないでください。エラーメッセージが表示されるか、競合レポートウィンドウなどを送信する必要があります。

なぜこれが起こるのですか?バグですか?

必要なものを取得するには、コマンドをどのように変更する必要がありますか? (後でSTDOUT以外の場所にデータをコピーしたい場合があります。)

ベストアンサー1

私はこれが間違いだと言いたいです。どのバージョンのbashを実行していますか?コマンドラインは正しくありませんが、シェルがクラッシュしてはいけません。次のような出力を見たいです。

$CP P2 &2 &
[1]24800
[2]24801
$ bash: 2: コマンドが見つかりません
cp: 'p2'の後にオブジェクトファイルオペランドはありません。
詳細については、「cp --help」を試してください。

[1] - 1番出口cp -i p2
[2]+ 127番出口2
  1. 「&2」には意味がありません。まあ、それはあなたが思うことを意味しません。バックグラウンドで前のコマンド( "cp")を実行し(引数が不足しているため失敗しました - ターゲットなし)、バックグラウンドで "2"というコマンドも実行しようとします。

    これは以下を実行するのと同じです。

    CP P2 &
    2 &
    

    「exit」を実行する「2」というエイリアス、スクリプト、またはシェル関数はありませんか?そうでなければ、シェルは確実に終了してはいけません。

  2. 何してるの? Named Pipe p2の内容を表示し、バックグラウンドで実行しようとしていますか?その場合は、以下を試してください。

    cat p2 &

おすすめ記事