【Linux】bashのオプション
- bashはシェル自信がもつ様々な機能を利用するためにオプションを指定することができる
- オプションは「オン」または「オフ」の値をとり、機能のオンオフを切り替えられる
- オプションの設定には
set
やshopt
コマンドを使う - シェルスクリプトでしか意味を持たないオプションもある
setコマンド
-o
でオン+o
でオフ
書式
set -o/+o <オプション名>
ignoreeeofオプションをオンに設定する例
$ set -o ignoreeof #↓ctrl+dを入力 $ シェルから脱出するには "logout"を使用してください。 $
ignoreeofはctrl+dでシェルを終了しないオプション。誤操作での終了を防げる。
setコマンドのオプション一例
オプション名 | 内容 |
---|---|
ignoreeof | ctrl+dでシェルを終了しない |
noclobber | 既に存在するファイルをリダイレクトで上書きしない |
noglob | パス名展開を無効にする。*などがシェルに解釈されずそのまま*となる |
shoptコマンド
- 指定したオプションを
-s
でオンに、-u
でオフにする shopt
で指定するオプション名はset
で指定するオプション名とは異なる
書式
shopt -s/-u <オプション名>
shoptコマンドのオプション一例
オプション名 | 内容 |
---|---|
autocd | ディレクトリ名のコマンドを実行すると、それがcdコマンドの引き数に指定されたものとして実行される |
dotglob | *や?を使ったパス名展開の結果に、.で始まるファイルも含める |
cdspell | cdコマンド実行時、ディレクトリのちょっとしたミスタイプが自動修正される |
globstar | パス名展開で**というパターンを使うと、サブディレクトリまで含めたすべてのファイルにマッチする |
histappend | bashを終了するとき、履歴ファイルにコマンド履歴を追記し、上書きしない |