shがbashに接続されている場合は、あらゆる種類のログインスクリプトを実行してください。

shがbashに接続されている場合は、あらゆる種類のログインスクリプトを実行してください。

私の問題:私のWebホストは共有サーバーにSSHを提供しています。いくつかのエイリアスなどを設定したいので、ログインスクリプトを実行しようとしています。私のシェルが通常のbashの場合は、ドットファイルの1つに内容を追加して操作を完了します。

/bin/sh今私のシェルはbashに接続するように指定されます。

sh-3.2$ /bin/sh --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
sh-3.2$ /bin/bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
sh-3.2$

いつもの容疑者、、、、、、、をすべて作ってみました~/.bash_profileが、~/.bash_login運はありませんでした。~/.bashrc~/.profile.login

起動時にコマンドを実行するにはどうすればよいですか?試行できなかったファイル名はありますか?しなければならない私の条件でこれはうまくいきますか?つまり、私のホストはログインスクリプトを無効にすることをしましたか?

事実を把握するまで、ホストに別のシェルを設定するように要求したくありません。

ベストアンサー1

~からバッシュマニュアル部分6.2 Bash 起動ファイル:

名前shで呼び出す

Bash が name で呼び出されると、shposix 標準に準拠しながら、sh 歴史的バージョンの起動動作をできるだけ似て模倣しようとします。

このオプションを使用して対話型ログインシェルまたは非対話型シェルとして呼び出されると、まずコマンドを順番に読み込んで--login実行しようとします。このオプションを使用すると、この動作を抑制できます。というインタラクティブシェルを呼び出すと、Bashは変数を探し、その値が定義されている場合は展開し、拡張値を読み取り、実行するファイル名として使用します。 asを呼び出すシェルは他の起動ファイルからコマンドを読み込んで実行しようとしないため、このオプションは効果がありません。この名前で呼び出された非対話型シェルは、他の起動ファイルを読み取ろうとしません。/etc/profile~/.profile--noprofileshENVsh--rcfilesh

おすすめ記事