私は今Linuxを使い始めました。私はUbuntuを使っていますが、非常に深刻なミスを犯したと思います。スクリプトを作成し、愚かな考えに/bin
フォルダに移動することにしましたが、誤って入力しました。
mv /home/kenny/script /bin/bash
今私はやる気を失い、何をすべきかわかりません。 Bashを実行するたびに、「シンボリックリンクが多すぎます」というエラーが発生します。
/bin/bashを復元するにはどうすればよいですか?
答え1
代わりに走ってみてください/bin/sh
。
次に bash を再インストールします。
sudo apt-get install --reinstall /bin/bash
これはエラーを解決します。
答え2
Ubuntuシステム自体が使用するデフォルトのシェルは/bin/dash
。
だから実行してみてください。完成などのインタラクティブな使用機能はありませんが、基本的なシェル機能に関する限り、完全なシェルです。
/bin/sh
欠落しているコンテンツについてコメントしました。これへのシンボリックリンクは次のとおりです/bin/dash
。
リンクまたはdash
バイナリがありません。
しかし、私はUbuntuがそれなしで多くのことをすることができるとは思わず、dash
まだ実行しているようです。だから我々は/bin/dash
希望があることを望むことができます。
システムはusingとして実行されていますが、dash
usingとして指定されており、sh
今は欠落しているスクリプトがある可能性があります。
/bin/sh
以下が指すシンボリックリンクを再作成できます/bin/dash
。
sudo ln -s -r /bin/dash /bin/sh
システム自体では必要ありませんbash
。 Ubuntuシステムのすべてのスクリプトはdash
。
デフォルトでは、対話型端末のみがbashを実行し、カスタムスクリプトがlineで始まる場合は必須です#!/bin/bash
。
試してみる他のシェル:
/bin/zsh
/bin/csh
/bin/tcsh
/bin/mksh
/bin/lksh
答え3
bashがあることを確認してください/usr/bin/
。
もしそうなら、私のディストリビューションと同じなら、への/bin
リンクがありますので、MVがクラッシュして次から入手できることを願っています/usr/bin/
。/bin/bash
/usr/bin/