逆引きUNIXコマンド/コマンドを実行するたびに他のコマンドを自動で実行する方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* bashシェルでコマンドを実行するたびに他のコマンドを自動...
bashシェルでコマンドを実行するたびに何かしらのコマンドを...
PROMPT_COMMANDにコマンドを設定しておけば、コマンドを実行...
PROMPT_COMMANDに設定されたコマンドが実行されます。
以下に実際にPROMPT_COMMANDにコマンドを指定して試した実行...
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
#contents
* 参考記事 [#kbeb2704]
-[[bashにて複数端末間でコマンド履歴(history)を共有する方...
* PROMPT_COMMANDにコマンドを設定する [#h80f030f]
PROMPT_COMMANDにecho hello を設定してみます。
$ PROMPT_COMMAND="echo hello"
上記では、PROMPT_COMMANDに echo hello を設定してます。
実際に上記のコマンドを入力し、Enterキーを押すと、以下のよ...
$ PROMPT_COMMAND="echo hello"
hello
尚、Enterキーを押下するだけでも PROMPT_COMMAND に設定した...
$ PROMPT_COMMAND="echo hello"
hello
$
hello
$
hello
$
hello
* PROMPT_COMMAND に関数を指定する [#de3175b0]
以下のようにすれば、関数を実行することも可能です。
変数iをインクリメントする関数です。
function cmd_count {
if [ -z "$i" ]; then
let i=0
fi
let i++
echo "command count: $i"
}
これを PROMPT_COMMAND に以下のように設定します。
PROMPT_COMMAND="cmd_count"
実際にターミナル(端末)を起動し実行したときの出力になりま...
上記関数とは、ターミナルにコピー&ペーストしました。
+ 上記関数をターミナルにペーストしました。
$ function cmd_count {
> if [ -z "$i" ]; then
> let i=0
> fi
> let i++
> echo "command count: $i"
> }
+ PROMPT_COMMAND に上記関数を設定します。~
早速、インクリメントされた値が表示されています。
$ PROMPT_COMMAND="cmd_count"
command count: 1
+ dateコマンドを実行
$ date
2019年 2月 24日 日曜日 22:28:11 JST
command count: 2
+ catコマンドを実行
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
command count: 3
最後にインクリメントされた値が表示されているのが確認でき...
ちなみに、PROMPT_COMMANDに設定した内容ををクリアする場合...
unset PROMPT_COMMAND
unsetコマンドでPROMPT_COMMANDの設定をクリア(unset)してい...
* すべてのターミナルで有効にしたい場合は、exportを使用す...
上記例では、ターミナルを起動し、PROMPT_COMMANDにコマンド...
起動する端末全てで動作させる場合は、.bashrcに記述すれば良...
また、export PROMPT_COMMAND しておけば、他のターミナルで...
以上、コマンドを実行するたびに指定したコマンドを実行する...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* bashシェルでコマンドを実行するたびに他のコマンドを自動...
bashシェルでコマンドを実行するたびに何かしらのコマンドを...
PROMPT_COMMANDにコマンドを設定しておけば、コマンドを実行...
PROMPT_COMMANDに設定されたコマンドが実行されます。
以下に実際にPROMPT_COMMANDにコマンドを指定して試した実行...
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
#contents
* 参考記事 [#kbeb2704]
-[[bashにて複数端末間でコマンド履歴(history)を共有する方...
* PROMPT_COMMANDにコマンドを設定する [#h80f030f]
PROMPT_COMMANDにecho hello を設定してみます。
$ PROMPT_COMMAND="echo hello"
上記では、PROMPT_COMMANDに echo hello を設定してます。
実際に上記のコマンドを入力し、Enterキーを押すと、以下のよ...
$ PROMPT_COMMAND="echo hello"
hello
尚、Enterキーを押下するだけでも PROMPT_COMMAND に設定した...
$ PROMPT_COMMAND="echo hello"
hello
$
hello
$
hello
$
hello
* PROMPT_COMMAND に関数を指定する [#de3175b0]
以下のようにすれば、関数を実行することも可能です。
変数iをインクリメントする関数です。
function cmd_count {
if [ -z "$i" ]; then
let i=0
fi
let i++
echo "command count: $i"
}
これを PROMPT_COMMAND に以下のように設定します。
PROMPT_COMMAND="cmd_count"
実際にターミナル(端末)を起動し実行したときの出力になりま...
上記関数とは、ターミナルにコピー&ペーストしました。
+ 上記関数をターミナルにペーストしました。
$ function cmd_count {
> if [ -z "$i" ]; then
> let i=0
> fi
> let i++
> echo "command count: $i"
> }
+ PROMPT_COMMAND に上記関数を設定します。~
早速、インクリメントされた値が表示されています。
$ PROMPT_COMMAND="cmd_count"
command count: 1
+ dateコマンドを実行
$ date
2019年 2月 24日 日曜日 22:28:11 JST
command count: 2
+ catコマンドを実行
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
command count: 3
最後にインクリメントされた値が表示されているのが確認でき...
ちなみに、PROMPT_COMMANDに設定した内容ををクリアする場合...
unset PROMPT_COMMAND
unsetコマンドでPROMPT_COMMANDの設定をクリア(unset)してい...
* すべてのターミナルで有効にしたい場合は、exportを使用す...
上記例では、ターミナルを起動し、PROMPT_COMMANDにコマンド...
起動する端末全てで動作させる場合は、.bashrcに記述すれば良...
また、export PROMPT_COMMAND しておけば、他のターミナルで...
以上、コマンドを実行するたびに指定したコマンドを実行する...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: