OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

tcsh の complete の使い方

  • 困ってます
  • 質問No.196857
  • 閲覧数150
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 76% (20/26)

set hosts=(firsthost secondhost thirdhost)
comlete setenv 'C/DI/(DISPLAY)/' 'p/1/e/' 'n/DISPLAY/$hosts/:0.0/'

が思うように補完してくれません。
おそらく:をエスケープしなければいけないのでしょうが、
その仕方がわかりません。

教えてください。お願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル9

ベストアンサー率 33% (21/62)

私も試してみましたが、うまく行きませんでした。

それで、 tcsh のマニュアルを読み直してみると、エスケープの問題じゃないようです。 「suffix は1文字で、補完に追加される」と記述されていました。ですので、複数の文字(':0.0' のように)を suffix として、補完することはできないようです。

シェル変数を設定するときに、
set hosts=(firsthost:0.0 secondhost:0.0 thirdhost:0.0)
としておいたらどうでしょうか?

ちなみに私は、alias で以下のように設定していました。
alias dp1 'setenv DISPLAY firsthost:0.0'
alias dp2 'setenv DISPLAY secondhost:0.0'
alias dp3 'setenv DISPLAY thirdhost:0.0'
こっちほうが便利だと私は思ったので。補完機能も、勝手に入りますしね。
(今は、REMOTEHOST が取ってこれるので、自動設定しています。)
お礼コメント
cherry_moon

お礼率 76% (20/26)

hazenoki さん、ご回答ありがとうございます。

シェル変数のほうに :0.0 をつけるのっていい考えですね。
alias でも便利なんですが、rlogin や ftp のときと
一緒のリストが使えると便利だなぁとおもったので、
complete にこだわってました。

今気づいたことなんですが、
foreach を使えば alias でも、ディスプレイ用の変数でも
簡単に作れますね。
どうせ一回しか読まれないので多少時間がかかっても構わないし。

あと、追加質問なんですが、REMOTEHOST って多段に rlogin しているときは
どうやってとってきてるんですか?
rlogin するときに、環境変数がわたせるのかなぁ
と漠然と思っているのですが、方法がよくわかりません。
お願いします。
投稿日時 - 2002-01-15 23:14:50
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル9

ベストアンサー率 33% (21/62)

遅くなりましたが、、、。 rlogin や ftp のための host の list と DISPLAY 用の host の list は微妙にずれませんか? 敢えて、別のリストを使った方が便利かもしれませんね。もちろん、リストが増えると管理が大変になりますので、どちらが得なのかは状況次第ですね。 正直言いまして、rlogin にはそんなに詳しくないので、(というか、最近は使っていないので)環 ...続きを読む
遅くなりましたが、、、。

rlogin や ftp のための host の list と DISPLAY 用の host の list は微妙にずれませんか? 敢えて、別のリストを使った方が便利かもしれませんね。もちろん、リストが増えると管理が大変になりますので、どちらが得なのかは状況次第ですね。

正直言いまして、rlogin にはそんなに詳しくないので、(というか、最近は使っていないので)環境変数の件はよく知りません。昔は、多段にログインしたときには、expect というオートパイロットできるスクリプトで、強引に渡そうとしたことがあります。しかし、今考えると、やりすぎだと思います。スマートではないです。

現在の私の状況は、teraterm (TTSSH) でウインドウズから unix にログインしています。 teraterm は REMOTEHOST を設定してくれているようで、それを利用しています。

また、その UNIX から、他の remote site にログインするときも、最近は、すべて、ssh を使います。 ssh は DISPLAY を設定してくれますので、何も考えなくもよく、便利に使っています。ssh は安全性を高めるために、ちょっとトリッキーな方法で DISPLAY を設定しています。そのため、多段にログインしても問題ありません。
安全性の観点からも、ssh はお勧めです。remote site にもインストールする必要はありますけどね。

以上、とりとめもなく文章を書いたので、まとめてみます。
・できれば、ssh を使う。
→ 多段のログインでも DISPLAY は自動で設定される。
→ リモートサイトにもインストールする必要がある。
→ 安全性が高まる。

・どうしても rlogin を使わないといけないの場合。
→ alias の方法が、日々のタイプする量が減ると思います。
→ foreach で設定すると、リストが一元化できる。
→ 別々のリストの方が、余分なホスト名が complete 機能時に候補に上がらず便利。

こんな感じでしょうか。参考にしてください。
お礼コメント
cherry_moon

お礼率 76% (20/26)

hazenokiさん、たびたびお呼び出ししてすいませんでした。
御礼が遅くなって申し訳ありません。

ssh よさそうですね。管理者にお願いしてみます。

結局、host のリストを作って foreach で alias を作るようにしました。

何度もご回答ありがとうございました。
投稿日時 - 2002-01-23 22:56:26


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ