web-dev-qa-db-ja.com

Centosのデフォルトのスクリプトシェルを知る方法は?

私はCentos 6を使用しています。Debian、Ubuntu、Fedoraでshの置き換えとしてさまざまなシェルとダッシュの実装について読んだ後、centosのスクリプトシェルとしてshをダッシュ​​に置き換えることにしました。

システムにshとdashの両方が含まれているので、これが既に行われているかどうかを確認する方法がわかりません。

5
NotFromBrooklyn

次のコマンドを使用して、デフォルトのシェルを決定できます。

grep -- "$LOGNAME" /etc/passwd | awk -F":" '{print $7}'

私のマシンでは、shdashへのリンクです。

ls -l "$(which sh)"
9
cuonglm

「スクリプトシェル」はnotログインシェルです。それは/bin/shとして実行されているものです。多くのBourne Shell派生物(つまり、bashやdashのようなshs、およびおそらくKorn Shellのそっくりのもの)は、shとして呼び出されたときの動作が異なることに注意してください。

3
vonbrand

Centos(および他のlinuxとunices)では、このコマンドを実行して使用しているシェルが何であるかを知ることができます。

$ id
uid=501(john1) gid=1000(groupname1) ....

これは、ユーザーjohn1を使用していることを示し、次に:

$ grep john1 /etc/passwd
john1:x:501:1000:john1,,,:/home/john1:/bin/bash

最後の文字列/は、ログインシェルが何であるかを示します(この例では「/ bin/bash」です)。

ログインシェルを変更するには、この文字列を(ユーザーrootとして)passwdに編集できますが、他の文字列を変更しないように注意してください。

グラフィカルインターフェイス(GNOMEやKDEなど)がインストールされている場合は、この設定を変更する他のグラフィカルツールがあります。

0
DavAlPi