よろしくお願いします。
windows7 professional edition (64bit)上で、cygwinを利用しています。
cygwinのシェルはtcshです。
=========================================================================
cygwinやlinuxの端末で、Tabキーによるファイル名やパスの補完(?: 入力省略)を
よく利用するのですが、時々Tabキーによる補完が効かないファイルがあります。
実行ファイル(.exe)の名前の後にアスタリスク(*)が付いているファイルです。
http://www.seta.media.ryukoku.ac.jp/manual/ubunt …
上記のサイトによると、プログラムソースをコンパイルして作成した実行ファイルのことだと
書いてありますが、Tabキーの補完が効かないファイルもおそらくこの類だと思われます。
何とかしてこのような実行ファイルでもTabキーによる補完が効くように設定できないものでしょうか。
=============================================================================
何か情報お持ちでしたらお願い致します。
No.1ベストアンサー
- 回答日時:
まずは、 man tcsh でマニュアルを読みましょう。
http://linuxjm.sourceforge.jp/html/tcsh/man1/tcs …
> 補完と一覧 (+)
> シェル変数 fignore に、補完の際に無視するファイルの サフィックスのリストをセットできます。
セットされていませんか?
> 実行ファイル(.exe)の名前の後にアスタリスク(*)が付いているファイルです
そのURLにある説明は不十分で、「『lsに-Fオプションを付けたときに』 *が付いているファイル」とです。
実際のファイル名には*は付いてません。
# よく、.tcshrc等にaliasでlsを-F付きにしている場合があります。この場合、コマンド入力はlsでも実際にはls -F が実行されています。
# また、tcshの内部コマンドにls -Fと同様の出力をするls-Fがあります
# alias ls で現在の内容の確認ができます。
# /usr/bin/ls とパス付きでコマンド入力すれば、aliasが無効になります。
もし「*まで補完されることを期待していて、*の前までしか補完されない」ということなら、 「*まで補完される」と言う考えが間違いです。
余談になりますが
「プログラムソースをコンパイルして作成した実行ファイル」も不正確です。
「実行権のあるファイル」です。
例えば、シェルスクリプトはテキストエディタを使って書いてそのまま実行します。コンパイルはしません。
ですが、chmodで実行権を付ければ、ls -F で*付きに出力されます。
ご回答ありがとうございます。
また、丁寧な解説をありがとうございました。
*付きのファイルは実行権限付きのファイルという意味だったのですね。。。
今回の質問に関して、私の方で勘違いしていた部分がありましたので、
補足までに説明させていただきます。
まず、tcshのマニュアルに記載のfignore変数ですが、
これが設定されているわけではありませんでした。
また、ls -Fで*付きのファイル名を表示していたわけではなく、
私の.tcshrc内の設定に、
set autolist
があり、それによってtabキーの補完機能を使った際に、
*付きのファイル名でリスト表示されていました。
=================================================================================
私の勘違いだったのですが、tabキーによる補完で、
例えば"ruby.exe*"のように、表示された場合、
".exe"の拡張子部分までコマンドで入力しなければならないと思っていたため、
何故.exeまで補完されないんだろうか、と質問させていただいたのですが、
そもそも".exe"の拡張子部分までコマンドで入力する必要がないだけ、ということでした。
上記の例で言えば、
"ruby"というコマンド名を補完した時点でtabキーによる補完が完了しているので、
それ以上.exeの部分まで補完がされなかったというだけのことでした。
お騒がせしてすいませんでした。
=================================================================================
余談ですが、cygwin環境下で、例えば"C:\ruby\bin/ruby"を実行する際に、
> cd /cygdrive/c/ruby/bin
> ru ### ここでtabキー
のように、先に実行ファイルのあるディレクトリに移動してから
tabキーでファイル名の補完リストを表示すると、*付きの"ruby.exe*"ではなく、
拡張子を除いた"ruby"が補完リストに表示されるのですが、
絶対パスで
> /cygdrive/c/ruby/bin/ru ###ここでtabキー
のように入力した際にtabキーで補完リストを表示させると、
*付きの"ruby.exe*"として補完リストに表示されるようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/12 16:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
ファイル名についている「-」と...
-
ラズパイで『’test.service’をs...
-
xcopyのエラー情報のはき...
-
テキストファイルから最終行の抽出
-
DOSコマンドのFOR文で空白を含...
-
scpコマンドで、「追記」のオプ...
-
DOS コマンドの~zfの意味を教え...
-
DUとLSの表示の差
-
~以外を削除する場合(rmコマ...
-
"ls -l"でのタイムスタンプ表示...
-
ファイル編集について
-
ファイルが消せない、移動でき...
-
Linuxで標準出力したファイルの...
-
FTP接続時の文字化け(CentOS6.5)
-
処理結果(標準出力と標準エラー...
-
どうしても削除できないファイ...
-
ごみ箱に入れるWindows コマン...
-
tar圧縮ファイルが作成できず困...
-
lsでは一画面ずつ表示できませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
ファイル名についている「-」と...
-
テキストファイルから最終行の抽出
-
ラズパイで『’test.service’をs...
-
xcopyのエラー情報のはき...
-
DOSコマンドのFOR文で空白を含...
-
Linuxで標準出力したファイルの...
-
oracleの文字コードとlinuxサー...
-
DOS コマンドの~zfの意味を教え...
-
batファイルの強制終了を回避し...
-
ファイル名一覧の印刷
-
win11のエクスプローラーの右ク...
-
特定の更新日付のファイルのみ...
-
数字を複数回繰り返す正規表現...
-
コマンドプロンプト dir でのソ...
-
ファイル名の -(ハイフン)を _(...
-
TeXでの見出しの変更は可能でし...
-
Windowsバッチファイルで、隠し...
-
「Vmmem」のメモリ使用量が高い...
-
cpコマンドで強制的に上書きし...
おすすめ情報