📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の5版が非表示) | |||
| 18行目: | 18行目: | ||
==== パッケージ管理システムからインストール ==== | ==== パッケージ管理システムからインストール ==== | ||
パッケージ管理システムからBashをインストールする。<br> | パッケージ管理システムからBashをインストールする。<br> | ||
# | # RHEL | ||
sudo | sudo dnf install bash | ||
# SUSE | # SUSE | ||
| 29行目: | 29行目: | ||
==== ソースコードからインストール ==== | ==== ソースコードからインストール ==== | ||
Bashのビルドに必要な依存関係のライブラリをインストールする。<br> | Bashのビルドに必要な依存関係のライブラリをインストールする。<br> | ||
# | # RHEL | ||
sudo | sudo dnf install ncurses-devel | ||
# SUSE | # SUSE | ||
| 53行目: | 53行目: | ||
make -j $(nproc) | make -j $(nproc) | ||
make install | make install | ||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|+ '''Bash configureオプション''' | |||
! カテゴリ !! オプション名 !! 説明 !! デフォルト | |||
|- | |||
| rowspan="2" | 外部ライブラリ関連 | |||
| --with-installed-readline | |||
| システムに既にインストールされているreadlineライブラリを使用する。<br>Bashに同梱されているreadlineは使用しない。 | |||
| no<br>(同梱版使用) | |||
|- | |||
| --with-included-gettext | |||
| Bash同梱のGNU gettextライブラリを使用する。 | |||
| no<br>(システム版使用) | |||
|- | |||
| rowspan="10" | 機能有効化オプション | |||
| --enable-array-variables | |||
| 配列変数機能を有効にする。<br>例 : <code>array=(a b c)</code> | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-multibyte | |||
| OSがサポートしている場合、マルチバイト文字 (日本語などの非ASCII文字) を有効にする。 | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-job-control | |||
| ジョブコントロール機能を有効にする。<br>バックグラウンドジョブ、fg、bg、jobsコマンド等 | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-debugger | |||
| Bashデバッガのサポートを有効にする。 | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-brace-expansion | |||
| ブレース展開を有効にする。<br>例 : <code>echo {1..5}</code> → <code>1 2 3 4 5</code> | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-arith-for-command | |||
| 算術forコマンドを有効にする。<br>例 : <code>for ((i=0; i<10; i++))</code> | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-history | |||
| コマンド履歴機能を有効にする。 | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-progcomp | |||
| プログラマブル補完機能とcomplete組み込みコマンドを有効にする。 | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-alias | |||
| エイリアス機能を有効にする。<br>例 : <code>alias ll='ls -l'</code> | |||
| yes<br>デフォルトは、有効 | |||
|- | |||
| --enable-help-builtin | |||
| help組み込みコマンドを有効にする。 | |||
| yes<br>デフォルトは、有効 | |||
|} | |||
</center> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>機能有効化オプション (<code>--enable-*</code>) は、デフォルトで全て有効になっている。</u><br> | |||
<u>明示的に指定しなくても、<code>--prefix</code> のみでフル機能のBashがビルドされる。</u><br> | |||
<br> | |||
<u>これらのオプションは、設定を明確にする目的や特定の機能を無効化したい場合 (<code>--disable-*</code>) に使用する。</u><br> | |||
<br><br> | <br><br> | ||
| 85行目: | 148行目: | ||
== Bashの設定例 == | == Bashの設定例 == | ||
~/.bashrcファイルを作成して、以下のような設定を記述する。<br> | ~/.bashrcファイルを作成して、以下のような設定を記述する。<br> | ||
<syntaxhighlight lang="bash"> | |||
# ~/.bashrcファイル | # ~/.bashrcファイル | ||
| 127行目: | 191行目: | ||
alias gnome=' echo <パスワード> | sudo -S systemctl restart graphical.target' | alias gnome=' echo <パスワード> | sudo -S systemctl restart graphical.target' | ||
alias udesktop='update-desktop-database $HOME/.local/share/applications' | alias udesktop='update-desktop-database $HOME/.local/share/applications' | ||
alias uoff='dbus-send --print-reply=literal --system --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true' # シャットダウン | |||
alias ureboot='dbus-send --print-reply=literal --system --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" boolean:true' # 再起動 | |||
# KDE Plasmaの再起動 | |||
alias plasma='/usr/bin/kquitapp5 plasmashell; plasmashell > /dev/null 2>&1 & disown; sleep 2; exit' | |||
#alias plasma="killall plasmashell; plasmashell > /dev/null 2>&1 & disown" | |||
# | # GNOMEの再起動 | ||
alias | alias gshell='killall -3 gnome-shell > /dev/null 2>&1 & disown; sleep 2; exit' | ||
# VS | # VS Codeをスーパーユーザ権限で起動 | ||
alias scode='code --user-data-dir='<VSCodeのプロジェクトディレクトリ>'' | alias scode='code --user-data-dir='<VSCodeのプロジェクトディレクトリ>'' | ||
# SUSEの情報を出力 | |||
alias suse='cat /etc/SUSE-brand' | alias suse='cat /etc/SUSE-brand' | ||
# 各SSHの接続 | |||
alias sshpi='ssh <ユーザ名>@<ホスト名またはIPアドレス> -p <ポート番号> -i <暗号鍵のフルパス名>' # Raspberry Pi向けSSH接続の設定 | alias sshpi='ssh <ユーザ名>@<ホスト名またはIPアドレス> -p <ポート番号> -i <暗号鍵のフルパス名>' # Raspberry Pi向けSSH接続の設定 | ||
# | # KVMの起動と停止 | ||
alias startkvm='sudo systemctl restart libvirtd' | alias startkvm='sudo systemctl restart libvirtd' | ||
alias stopkvm='sudo systemctl stop libvirtd && sudo systemctl stop libvirtd.socket && sudo systemctl stop libvirtd-admin.socket && sudo systemctl stop libvirtd-ro.socket' | alias stopkvm='sudo systemctl stop libvirtd && sudo systemctl stop libvirtd.socket && sudo systemctl stop libvirtd-admin.socket && sudo systemctl stop libvirtd-ro.socket' | ||
| 151行目: | 222行目: | ||
# コマンド履歴に残さないコマンド群 | # コマンド履歴に残さないコマンド群 | ||
# SUSEがホストの場合 | ## SUSEがホストの場合 | ||
export HISTIGNORE="fg*:bg*:history*:cd*:ls*:cat*:less*:more*:grep*:lgrep*:igrep*:startkvm:stopkvm:repoclean*:suse:which*:clear:man*:repoclean:startx*:exit:" | export HISTIGNORE="fg*:bg*:history*:cd*:ls*:cat*:less*:more*:grep*:lgrep*:igrep*:startkvm:stopkvm:repoclean*:suse:which*:clear:man*:repoclean:startx*:exit:" | ||
# SUSEが仮想マシンの場合 | ## SUSEが仮想マシンの場合 | ||
export HISTIGNORE="fg*:bg*:history*:cd*:ls*:cat*:less*:more*:grep*:lgrep*:igrep*:startkvm:stopkvm:repoclean*:suse:which*:clear:man*:repoclean:startx*:exit:mhgfs:uhgfs" | export HISTIGNORE="fg*:bg*:history*:cd*:ls*:cat*:less*:more*:grep*:lgrep*:igrep*:startkvm:stopkvm:repoclean*:suse:which*:clear:man*:repoclean:startx*:exit:mhgfs:uhgfs" | ||
| 435行目: | 506行目: | ||
fi | fi | ||
} | } | ||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:シェルスクリプト]] | [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:シェルスクリプト]] | ||