この記事を投稿する約30分前に私はコマンドを実行しましたautoclean
。autoremove
コマンドを実行して数分後、数ヶ月間使用したスクリプトを問題なく実行しました。
今回スクリプトを実行した後、次のメッセージを受け取りました。
"line 46: read: read error: 0: Resource temporarily unavailable"
ループ(while
ループ内でスクリプトが実行されます)。
私は問題を見つけるために約5分を費やした後、コマンドを覚えていて、これautoremove
がautoclean
私が変更した唯一のものであるため、これは問題の原因がほとんど確実であると判断しました。
コマンドの性質とエラーメッセージを考慮して、read
コマンドが削除されたことは間違いないと結論付けました。
apt
を再インストールするためにすべてのディストリビューションのコアパッケージを再インストールするコマンドを実装しましたが、失敗した場合にコマンドを直接再インストールするread
方法はありますか?read
私は明らかなことを試しましたが、うまくapt install -y read
いきません。私は周りを見ましたが、「読み込みコマンドのインストール方法」を具体的に検索しましたが、インストール方法の例だけを得ました。使用コマンドを読み取ると、コアの再インストールとこの問題が発生します。
アドバイスいただきありがとうございます:)
(ああ、そして尋ねる前に、私は持つ電源を入れ直してください:D)
答え1
これはread
ツールではなく、シェルに組み込まれたコマンドです。これはすべてのシェルbash
、さらにはksh
古典zsh
にも存在しますsh
。したがって、削除できません。
スクリプトが何を読んでいるかを確認してください。文書?基準?パイプですか?
これは、入力ストリームを提供するすべての項目の一時的な問題である可能性があるため、端末を再起動するか、コンピュータを再起動すると便利です。
apt autoremove
これを破る唯一の方法read
は、シェルがいくつかの外部ライブラリを使用し、そのライブラリが削除される場合です。この場合、シェル(apt update bash
)を再インストールする必要があります。しかし、これは可能性が低いです。