Amazon Linux 2 のbashでリダイレクト先が補完されなくなった
1509 ワード
困ったこと
# test.sh を実行し、標準出力/エラー出力を log/test.log に書き出す
$ sh test.sh >& log/test.log
# test.sh を実行し、標準出力/エラー出力を log/test.log に書き出す
$ sh test.sh >& log/test.log
このとき、log/
を打とうとすると、補完されなかった。これまでは出来たのに。。と思って調べると以下の通り。
- Amazon Linux 2 では補完されない
- Amazon Linux (1) では補完される
- RHEL7 では補完される
bash_completion が原因?
-
rpm -qi bash_completion
で調べると、Amazon Linux 2にだけ入っている。
-
/usr/share/bash-completion/bash_completion
をrenameして再ログインすると、補完された。
- (が、当然bash-completionをもって機能する補完も使えなくなる)
- これまでの感じに戻したければこれでOK
より前向きな解決
rpm -qi bash_completion
で調べると、Amazon Linux 2にだけ入っている。/usr/share/bash-completion/bash_completion
をrenameして再ログインすると、補完された。>&
ではなく&>
を使おう
$ sh test.sh &> log/test.log
http://linuxjm.osdn.jp/html/GNU_bash/man1/bash.1.html
「標準出力と標準エラー出力のリダイレクト」の項
意味は同じだが、&>
の方が推奨とされている。
これであればbash-completionが効いたままでもOK
ぼやき
(この辺て困ることでも無いと、使い始めた時点の知識からなかなかアップデートされないのでおじさんたちは注意しよう)
Author And Source
この問題について(Amazon Linux 2 のbashでリダイレクト先が補完されなくなった), 我々は、より多くの情報をここで見つけました https://qiita.com/accakr/items/05d78eb270ad1169d33e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .