ラベル bash の投稿を表示しています。 すべての投稿を表示
ラベル bash の投稿を表示しています。 すべての投稿を表示

2021-09-09

Bashにて複数行の貼り付けが1コマンドになる

Fedora 34のBashを使っていると、中ボタンクリックで改行付のコマンドを貼り付けると、コマンドが実行されなくなった。 例えば、
pwd
ls
というテキストを貼り付けると、
[user@localhost ~]$ pwd
ls
と表示され、改行を含めて一つのコマンドとしてプロンプトに入ってしまう。このあとEnterキーを押せば各行が実行されるのだが、これまで中ボタンクリックだけでコマンドを実行していたので、不便に感じている。

解決方法は、~/.inputrcに以下の設定を追記する。

set enable-bracketed-paste off
起動済のbashの設定を変えるには、以下のコマンドを実行する。
bind 'set enable-bracketed-paste off'

参考記事:

2016-05-12

ひとつのaliasからgit/svn statusをcwdに応じて使い分ける

こういう記事を見つけたのだけど, zshでしか使えない. bash版を考えてみた.

st () 
{ 
    if git rev-parse --is-inside-work-tree &> /dev/null; then
        git status "$@";
        return $!;
    else
        svn status "$@";
        return $!;
    fi
}

もとネタでは, cdの度にコンテキストを切り替えているが, それだと, 毎回上位ディレクトリに検索に行く. NFSとかを使っていたり, なにか動作が不安定な環境でcdするのが心配だ. 一方で, この方法だと, stのときしか検索しないので, 安全だと思う.