IT エンジニア日記 ~Linux ログイン時の環境設定~ -2024/07/30-
どうも。とても忙しいを乗り越えた clown です。
仕事しかしてなかったと言っても過言ではないくらい仕事ばかりしてた。ってくらい納期に追い詰められてた。
今日、ようやくそれを乗り越えて、おめでとうって感じ。
そんな僕。
Linux のログイン時に設定される環境変数的なアレ。.bash_profile だとか .bashrc とか。ログインシェルにもよるから、cshell だったら .cshrc になるのかな。まぁそれ。
Docker コンテナを CentOS 7 で構築して、ログインシェルを bash に設定している。
SSH で接続できるようになって、ルート以外のユーザでログインすると文字コードとかの設定をまるでやってない状態なんで、そりゃ文字化けするよね。
ということで、.bash_profile や .bashrc をコンテナビルド時にコピーしてもらうようにした。
Windows で作ったから改行コードでエラーになる。Windows なんで改行コードは
\r\n
なわけで。Linux なら
\n
にしないといけない。ここは tr コマンドや perl で一撃なのでなんてことはない。
とはいえ、Windows で作成したファイルでビルドしてアップしてログインした際に必ず tr やら perl やらを実行するのは面倒だから、コピーするファイルを Unix 形式の改行コードにして準備する。完璧。
ログイン時、どのコンテナにログインしたかわかりやすいように echo でホスト名を出したりする。囲み文字として "#" を使う。
tput cols
を使うと、ターミナルの幅を数えてくれるし、結果を変数に格納して printf で出力すれば、ターミナルの幅いっぱいに "#" を表示してくれたりする。
printf -v line '%*s' "$width" ''
そうやってログイン環境を少し整えた。ようやくそういうことをする時間的な余裕が出てきたのが今日の良かったこと。
掲げている使命
好きとスキルを駆使して、心身と経済が豊かな日本社会を創造する
いま、目の前で困っていることがある方のために僕の「好き」と「スキル」がお役にたつかもしれません。
こちら(↓)の自己紹介で僕の得意を書いていますので、お困り事のある方は、コメントをいただけるとありがたいです。
支援のお願い
本記事は無料でお読みいただけますが、投げ銭形式にしているので、気に入ったらご購入いただけると嬉しいです。
また、下記リンクのご支援をいただけると励みになります。