\r\n\r\n

ショップトを使ったバッシュシェルのカスタマイズ方法

shoptを使ってバッシュシェルの挙動を微調整する場合、50以上の設定をコントロールすることができます。リナックスシステムを自分好みにカスタマイズする方法を紹介します...

shoptを使ってバッシュシェルの挙動を微調整する場合、50以上の設定をコントロールすることができます。Linuxシステムを自分好みにカスタマイズする方法を紹介します。

ビルトイン店

shoptはbashshellのすべてのバージョンに組み込まれているので、何もインストールする必要はありません。ショップトが提供するオプションは、年々確実に増えています。つまり、Bashのバージョンが古ければ古いほど、shoptのオプションのリストが短くなるのです。

もし、あなたのマシンで何かが動作していないようであれば、Bashのマニュアルページのエントリを確認し、あなたのバージョンのshoptでそのオプションが利用可能であるかどうかを確認してください。

下記の通り、すべてのショッピングオプションを提供しています。また、使い方を説明し、いくつかの例を紹介します。そこから、Bashのマニュアルページやgnubashのリファレンスマニュアルをチェックして、これらのオプションが有用で魅力的であるかどうかを確認することができます。

shoptのオプションの中には、デフォルトで有効になっているものもあり、Bashのデフォルトの動作の一部になっています。Bashの短期的な変更として、shoptオプションを有効にすることができます。シェルを閉じると、デフォルトの動作に戻ります。

ただし、変更した動作をbashshellを起動するたびに利用できるようにしたい場合は、変更を恒久化することができます。

ショップトオプション

ショップトの選択肢は53種類。オプションなしでshoptコマンドを使用すると、それらの一覧を表示します。wcコマンドで出力すれば、行数、単語数、文字数をカウントしてくれる。shoptのオプションはそれぞれ独立した行になっているので、行数はオプションの数になります。

以下のように入力します。

shopt | wc

すべてのオプションを表示するには、column コマンドでオプション名を列として表示するように出力をパイプライン化するか、より少ない列で表示するようにパイプライン化することができる。

以下のように入力します。

shopt | column

リナックスマニュアルでshoptを探す

shoptとそのオプションについて述べているセクションは、LinuxマニュアルのBashセクションにあります。Bashのパラグラフは6000行以上あります。shoptの説明は、たくさんスクロールすれば出てきますし、マニュアルで検索することもできます。

これを行うには、マニュアルのBashセクションを以下の場所で開きます。

man bash

マニュアルで、/を押して検索を開始します。 と入力し、Enterキーを押します。

assoc_expand_once

マンウィンドウにshoptoptionセクションの冒頭が表示されます。

関連:Linuxのmanコマンドの使い方:隠された秘密と基礎知識

オプションの設定と解除

shoptオプションの設定・解除は、以下のコマンドで行います。

  • -s:設定または有効化します。
  • -u:unset または disable。

デフォルトで有効になっているオプションもあるため、どのオプションが有効になっているかを確認することも便利です。オプション名の代わりに -s と -u オプションを使用することができます。これにより、shoptはオンとオフになっているオプションを一覧表示します。

と入力する。

shopt -s shopt -u | column

sや-uコマンドを使わずにshoptオプションを使うと、各オプションのON/OFFの状態を見ることができます。

例えば、次のように入力すると、histverifyオプションの設定を確認することができます。

shopt histverify

と入力することで、オンに設定することができます。

shopt -s histverify

そして、次のように入力して、再度確認することができます。

shopt histverify

histverifyオプションは、historyコマンドの動作の一面を変更します。通常、参照するコマンドに番号を振って、historyにコマンドを繰り返すように指示した場合、例えば!245のように、コマンド履歴からコマンドを取り出し、即座に実行します。

コマンドを表示して期待通りのコマンドであることを確認し、(必要に応じて)編集したい場合は、次のコマンドを入力して、shopt histverifyオプションをenabledに設定します。

!245

コマンドを取得してコマンドラインに表示し、Enterキーを押すことで削除、編集、実行が可能です。

関連:Linuxでのhistoryコマンドの使い方

オートクドオプション

autocdオプションをonに設定すると、コマンドラインでディレクトリ名を入力してEnterキーを押しても、先にcdと入力したのと同じように処理されます。

autocdオプションをオンにするために、以下のコマンドを入力します。

shopt -s autocd

次に、ディレクトリの名前を入力します。

Documents

cdspellオプション

cdspellオプションをオンにすると、Bashは簡単なスペルミスやディレクトリ名のタイプミスを自動的に修正します。

次のように入力して、cdspellオプションを設定しました。

shopt -s cdspell

大文字の頭文字を持つはずの小文字のディレクトリに変更しようとする場合は、次のように入力します。

cd documents

そこで、次のように入力して、ディレクトリ名に "t "を追加することを試してみます。

cd ../Picttures

Bashはスペルミスに関係なく、各ディレクトリに変更されます。

xpgu echo option

xpgui uc echo オプションを on に設定すると、echo コマンドはエスケープ文字に従います。

まず、次のように入力し、オプションが設定されていることを確認します。

shopt -s xpg_echo

そして、echoに渡す文字列の中に、"the \n "を入れてください。

echo "This is line one\nThis is line two"

エスケープされた改行文字は、出力に改行を強制します。

これは、-e (エスケープ解釈有効) echo オプションと同じ動作をしますが、xpgu echo では、これをデフォルトの動作として使用することができます。

関連:LinuxでのEchoコマンドの使い方

ドットグロブオプション

dotglobオプションは慎重に扱う必要があります。ピリオド(.)で始まるファイルやディレクトリを許可します。ドット(.)で始まるファイルやディレクトリは、名前の拡張子や「グロビング」に含まれ、これらは「ドットファイル」または「ドットディレクトリ」と呼ばれ、通常は非表示になっています。dotglobオプションは、その名前で始まるドットを無視します。

まず、次のように入力して、「geek」で終わるファイルやディレクトリを検索してみます。

ls *geek

次に、次のように入力して、dotglobオプションを有効にします。

shopt -s dotglob

同じようにlsコマンドを発行して、「geek」で終わるファイルやディレクトリを探します。

ls *geek

今回は2つのファイルが見つかりリストアップされましたが、そのうちの1つはドットファイルです。dotglobオプションがonに設定されている場合、rmとmvには注意が必要です。

ノカセグロブオプション

nocaseglobオプションはdotglobオプションと似ていますが、nocaseglobはファイル名やディレクトリの大文字と小文字の違いを無視して名前を展開する点が異なります。

howで始まるファイルやディレクトリを探すために、次のように入力します。

ls how*

nocaseglobオプションを有効にするために、次のように入力します。

shopt -s nocaseglob

そして、lsコマンドを繰り返す:。

ls how*

2つのファイルを見つけ、そのうちの1つは大文字を含んでいます。

変更を恒久化する

変更した内容は、現在のbashshellを閉じるまでしか続きませんので、別のシェルセッションで永続させるためには、".bashrc "ファイルに追加しておく必要があります。

ホームディレクトリで、次のコマンドを入力して、グラフィカルなテキストエディタGeditで「.bashrc」ファイルを開きます(お好みのエディタを使用する場合は適宜変更してください)。

gedit .bashrc

geditエディタが起動し、".bashrc "ファイルが読み込まれます。

また、ここで独自のショップトオプションを追加することも可能です。追加したら、変更を保存してエディタを閉じます。これで、新しいバッシュシェルを開くたびに、オプションが設定されるようになります。

見渡す限りのオプション

shoptコマンドには多くのオプションがありますが、一度にすべてを処理する必要はありません。数が多いので、中には興味を持てないものもあるかもしれません。

例えば、Bashを特定の古いバージョンと互換性のある方法で強制的に動作させる方法はいろいろあります。人によってはうまくいくかもしれませんが、かなりニッチなケースです。

Bashのマニュアルページやgnubashのリファレンスマニュアルを確認することができます。どのオプションが自分に影響を与えるかを決め、実験する。ただ、ファイル名やディレクトリ名の展開方法に影響を与えるオプションには注意が必要です。慣れるまでは、lsのようなマイルドなコマンドで試してみてください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ