Ubuntuのbashで作業していて
Ctrl+s
を押してしまうと画面がかたまります
戻るには
Ctrl+q
を押せば戻れるのですが不便です
$ stty -a
をみると
stop = ^S;
とstopにCtrl + sが割り当たっているからなので
$ stty stop undef
としてしまえば無効になります
常に無効にしたかったら
~/.bashrc
に
stty stop undef
を書き込んでしまえばいいです
ひびのきろく
Ubuntuのbashで作業していて
Ctrl+s
を押してしまうと画面がかたまります
戻るには
Ctrl+q
を押せば戻れるのですが不便です
$ stty -a
をみると
stop = ^S;
とstopにCtrl + sが割り当たっているからなので
$ stty stop undef
としてしまえば無効になります
常に無効にしたかったら
~/.bashrc
に
stty stop undef
を書き込んでしまえばいいです
シェルスクリプトでコマンドを実行した時にシェルを再起動する必要がありました
たとえばrubyのrbenvをインストールする場合
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
のコマンドが必要ですが rbenv.shなどに書いて
$ . ./rbenv.sh
としてインストールされますが、最後の
source ~/.bashrc
が、起動したシェルでは効きません
シェルスクリプトは別のシェルを起動して実行されるからです
起動したシェルで手動で
$ source ~/.bashrc
と実行すればいいですが面倒です
そこで
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL --login
としてあげれば起動したシェルでも有効になります