アカウント名:
パスワード:
初心者に bash を渡すと補完機能に強く依存してやたら tab キーを連打するようになり、挙句にこちらから実行するコマンドを指示した時に、「補完に出てこないから間違っている」と言い出す。bash-completion 滅ぶべし。
大丈夫、このパッケージを入れればいいと教えてくれます。もう、黒い画面なんて一部の人しか使わないんだから、それでいいんじゃないかと割り切っている。
30年くらいシェルとお話してるけど、bash-completionが入ってない環境で作業するのはもはや苦痛。プアな環境を使いこなせる俺つええとかマウント取ってる老害滅ぶべし。
どんなコマンドをよく使うかによるのではないかと思います。私の場合は、よく入力するコマンドは、 ls とか grep, tar ぐらいで、使うオプションもほぼ決まっているので、bash-completion の恩恵はあんまりないですね。複雑なコマンドを実行する場合は、大抵 Web からのコピペだったり、履歴から実行したりとかですし。どちらかというと「ファイル名を補完したいときにしてくれなくてはまる」ことが多いです。具体的には、 「example.conf を tar で圧縮して、 example.conf.tgz を作ろう」と思ったときに、「"tar -zxf ex" と入力して、Tab キーで example.conf を補完して "{.tgz,}" を追加する」ということを手癖で入力しますが、example.conf が補完されないのです。それで、 -x じゃなくて -c だったね、ごめんねと思って、 "tar -zcf ex" にしても、やっぱり example.conf は補完されないのです。それで仕方ないから、「先頭に x 入れて "xtar -zcf ex" にして example.conf を補完してから先頭の x を消す」ってしています。
また、 「example.tar.xz で tar を展開する」というときに、手癖で 「"tar -zxf ex" と入力して、 Tab キー押す」とすると、補完されないのです。あれ?なんで?ファイル名違った?って思って ls するとあるし、 「tar -zxf example.tar.xz」 を実行すると、「gzip ではありません」というようなエラーになってやっと「そうだった、最近は "tar -xf" だった」となります。
そんな感じで手間が増える事の方が多いので、 ssh のホスト名を補完するぐらいしか使っていません。
本来のBSDスタイルだと、「tar cf」とか「ps aux」とかハイフン無しが正しくて、ハイフン付けるとエラーになってたけど、
GNUのはハイフン無しでも通すようになってて、それでハイフン付けるのが一般化してしまったのか、今ではBSDもハイフン有りが通るんですよね。(うろ覚えだけど、tarかpsのどっちか忘れたけど、過渡期のbsdのはハイフン付けると警告出して動作してた覚えがあります。今は警告なし、と、完全に屈してる)
ってことで、「tar zcf」なら補完できて、「tar -zxf」だと補完されないなら、それはそれで、bashの補完設定が不完全って言えるかと思います。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
初心者に bash を渡すと (スコア:2)
初心者に bash を渡すと補完機能に強く依存してやたら tab キーを連打するようになり、挙句にこちらから実行するコマンドを指示した時に、「補完に出てこないから間違っている」と言い出す。
bash-completion 滅ぶべし。
svn-init() {
svnadmin create .svnrepo
svn checkout file://$PWD/.svnrepo .
}
Re: (スコア:0)
大丈夫、このパッケージを入れればいいと教えてくれます。
もう、黒い画面なんて一部の人しか使わないんだから、それでいいんじゃないかと割り切っている。
Re: (スコア:0)
30年くらいシェルとお話してるけど、bash-completionが入ってない環境で作業するのはもはや苦痛。
プアな環境を使いこなせる俺つええとかマウント取ってる老害滅ぶべし。
Re:初心者に bash を渡すと (スコア:2)
どんなコマンドをよく使うかによるのではないかと思います。
私の場合は、よく入力するコマンドは、 ls とか grep, tar ぐらいで、使うオプションもほぼ決まっているので、
bash-completion の恩恵はあんまりないですね。
複雑なコマンドを実行する場合は、大抵 Web からのコピペだったり、履歴から実行したりとかですし。
どちらかというと「ファイル名を補完したいときにしてくれなくてはまる」ことが多いです。
具体的には、 「example.conf を tar で圧縮して、 example.conf.tgz を作ろう」と思ったときに、
「"tar -zxf ex" と入力して、Tab キーで example.conf を補完して "{.tgz,}" を追加する」ということを手癖で入力しますが、
example.conf が補完されないのです。
それで、 -x じゃなくて -c だったね、ごめんねと思って、 "tar -zcf ex" にしても、
やっぱり example.conf は補完されないのです。
それで仕方ないから、「先頭に x 入れて "xtar -zcf ex" にして example.conf を補完してから先頭の x を消す」ってしています。
また、 「example.tar.xz で tar を展開する」というときに、
手癖で 「"tar -zxf ex" と入力して、 Tab キー押す」とすると、補完されないのです。
あれ?なんで?ファイル名違った?って思って ls するとあるし、 「tar -zxf example.tar.xz」 を実行すると、「gzip ではありません」というようなエラーになってやっと「そうだった、最近は "tar -xf" だった」となります。
そんな感じで手間が増える事の方が多いので、 ssh のホスト名を補完するぐらいしか使っていません。
svn-init() {
svnadmin create .svnrepo
svn checkout file://$PWD/.svnrepo .
}
Re:初心者に bash を渡すと (スコア:1)
Re:初心者に bash を渡すと (スコア:1)
本来のBSDスタイルだと、「tar cf」とか「ps aux」とかハイフン無しが正しくて、ハイフン付けるとエラーになってたけど、
GNUのはハイフン無しでも通すようになってて、
それでハイフン付けるのが一般化してしまったのか、
今ではBSDもハイフン有りが通るんですよね。
(うろ覚えだけど、tarかpsのどっちか忘れたけど、過渡期のbsdのはハイフン付けると警告出して動作してた覚えがあります。今は警告なし、と、完全に屈してる)
ってことで、「tar zcf」なら補完できて、「tar -zxf」だと補完されないなら、
それはそれで、bashの補完設定が不完全って言えるかと思います。