Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2872

Shellについてざっくりまとめてみた

$
0
0
きっかけ この記事を書こうと思ったきっかけ。 所属している「もりけん塾」で、nodenvの勉強会があり、そこでいろいろ知らない用語が出てきた。 そして先生から「開発者として必須」と言われたので、せっかくの機会だし、調べてみようと思った。 実は昨日の勉強会は次の勉強会の前提知識になるので出た方はラッキーだったのですshell、.bash_profile, .bashrc or .zshrcなどの設定、環境変数、パスを通すみたいなのはフロントというより開発者として必須なので— フロントエンドエンジニア (@terrace_tech) May 29, 2021 shellとはざっくり shellは、ユーザとOSの中心部にあるカーネルとの中継を担ってくれるソフトウェアのこと。 ユーザからコマンドが入力されることで、OSの中核であるカーネルとやり取りし、カーネルのプログラムを呼び出す。 カーネルがプログラムを実行したら、shellに結果を伝えてターミナルに出力する。 ユーザとカーネルが直接やりとりすることはできず、必ずshellを通じてやりとりすることになっている。 ログインシェルとは ユーザがログインした直後に自動的に起動されるシェルのこと。 インタラクティブシェル(対話的シェル) コマンドラインで bash とか zsh と入力すると起動するシェルのこと。対話形式で入力する。 自分が使っているshellを調べる方法 $ echo $SHELL 私の場合は、/bin/zshと表示されるので、使っているシェルはzshです。 以前まではbashがログインシェルとして使われていたようですが、 MacOS Catalinaからはデフォルトのログインシェルが変更されており、ログイン時に読み込まれるのはzshとなっています。 shellの変更方法 こちらはあまり使うことはないと思いますが、一応備忘録として残しておく。 現在変更できるshellの一覧を確認 $ cat /etc/shells 僕の環境では # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh このように表示されました。よく見るsh、bash、zshなどが確認できます。 shellの設定ファイル 参考: zshrcとzprofileについて zshの設定ファイル 記述したものから順に読み込まれる。👇 .zshenv ログインシェル、インタラクティブシェル、シェルスクリプト、どれでも常に必要な設定を定義する zsh が起動して、必ず最初に読み込まれる設定ファイル 影響範囲が大きいので記述は必要最低限にするべき .zprofile ログインシェルに必要な設定だけを記述する zshenv の次に読み込まれる設定ファイル zsh ログイン時の一回だけ読み込まれる .zshrc ログインシェル、インタラクティブシェルの場合に読み込まれる 一般的に紹介されている記事ではこの設定ファイルにいろいろ記述することが多い。 .zlogin ログインシェルに必要な設定だけを記述する 最後に読み込まれる 役割は .zprofile とほぼ一緒。混乱を避けるため併用しないこと .zlogout exit コマンドで zsh を抜けたときに読み込まれる bashの設定ファイル 引用:本当に正しい .bashrc と .bash_profile の使ひ分け .bash_profile .bash_profile はログイン時にのみ実行されます。 具体的な用途は: 環境変数を設定する (export する変数) .bashrc .bashrc は対話モードの bash を起動する時に毎回実行されます。具体的な用途は: ・環境変数でない変数を設定する (export しない変数) ・エイリアスを定義する ・シェル関数を定義する ・コマンドライン補完の設定をする これらは bash を起動する度に毎回設定する必要があるものです。 shellを変更する zshからbashにしてみます。 // 使っているshellを確認 $ echo $SHELL -> /bin/zsh // shellの変更 $ chsh -s /bin/bash // shellを再起動 $ exec $SHELL -l  // 使っているshellを確認 $ echo $SHELL -> /bin/bash 紹介 私が所属している「もりけん塾」は、もりけん先生が運営するJavaScriptに特化したコミュニティーです。(とは言ってもいろんな方がいらっしゃいます。) フロントエンドエンジニアになりたい方にむけて、先生が道標となって初学者が迷わないように導いてくれます。コードの書き方、自走力を身に着けるにはとても良い環境です。 毎月1日に募集をかけていたのですが、ここ最近は募集かけなくても入塾したいとDMがくるそうです...!!(大人気) 先生のブログ 先生のTwitter

Viewing all articles
Browse latest Browse all 2872

Trending Articles