Terminal初心者質問スレ Part 5

このエントリーをはてなブックマークに追加
952945:2006/09/04(月) 20:01:20 ID:yBRT0FAC0
>>946
>>947
ありがとうございました。助かりました。
953名称未設定:2006/09/17(日) 09:14:44 ID:TEzv1B+Q0
ターミナルで
クラスパスを設定しながらjarファイルを実行したいのだけれ
ども
クラスパスを認識してくれない.
java -classpath /Users/.../xxxx.jar:. -jar Main.jar
ーー>xxxxクラスが見つからないとエラー

ためしにMain.jarを解凍してクラスを実行するとうまくいく
unzip -x Main.jar
java -classpath /Users/.../xxx.jar:. Main
ーー>xxxxクラスがみつけてうごく

-jar と -classpath の使い方がまちがっているとおもうので
すが
わかりません.お教え願えませんか?
xcodeで実行時のクラスパスの設定の仕方がわかれば解決する
のかもしれませんが
これもわからないです.

僕の環境は、ppc g4 1.25Ghz dual
osx 10.3.9,
java "1.4.2_09"
Java(TM) 2 Runtime Environment, Standard Edition (build
1.4.2_09-233)
Java HotSpot(TM) Client VM (build 1.4.2-56, mixed mode)
ターミナル1.4.6v100.1.8
です.
954名称未設定:2006/09/17(日) 14:57:05 ID:ADTaIjYK0
-classpath と -jar は一緒に使えないんじゃないか?
955(・∀・):2006/09/17(日) 21:26:30 ID:ODRPQYvg0
>>953-954
jarはよく知らないけど、Main.jarにxxxxクラスが無いってだけかな。
956名称未設定:2006/09/17(日) 22:38:48 ID:8IMd0YBk0
>>954-955
しらなかった。ありがとう。
957名称未設定:2006/09/19(火) 01:16:02 ID:VMQMqf6b0
http://ianhenderson.org/megazoomer.html
でTerminal.appもフルスクリーン化できましたが、
上にゴミが残るのとスクロールバーが消せないのがいまいちです

iTerm, TerminalOne, Terminator, X上のxterm他
など試してみましたが、どれもフルスクリーンで使えません。

フルスクリーンで使えるいい方法があれば教えて下さい。
他にTerminal.app以外のterminal emulatorがあれば教えて下さい。
958名称未設定:2006/09/19(火) 01:42:24 ID:YkrvSr8z0
X11をフルスクリーンモードにしてxterm起動してみたら?
959名称未設定:2006/09/20(水) 10:54:02 ID:VE4vYjlR0
ファイルパスをエスケープした形の文字列にしたいのですが、
どのように行うのがよいでしょうか。

パス中のスペースだけなら
NEWPATH="` echo $ORGPATH | sed 's/ /¥¥¥ /' `"
とかやってあとでevalに食わせるという方法で、無理矢理
できなくはないのですが、他のキャラクタが入るともう無理です。

cシェルだと簡単らしいんですが、bashで書いているので・・・
960名称未設定:2006/09/20(水) 14:09:03 ID:57fBhbcN0
ややこしい話でスマン。
sshでリモートの鯖、(fedora5だからOSの文字コードはUTF)にログインしてそこでmysqlをいじるんだけどDBのテーブルはEUC。
Macのターミナルの文字コード設定をいろいろ変えてみたけどDBの中を読むとどうしても文字化けしちまう。
なんか良い方法はないでしょうか?
961名称未設定:2006/09/20(水) 14:18:01 ID:dZDLhWys0
パイプしてiconvで変換とか駄目?
962名称未設定:2006/09/20(水) 14:18:30 ID:phZwtwe10
>>960
mysqlってクライアントの文字コード指定できないの?
963名称未設定:2006/09/20(水) 14:28:30 ID:qsbOZTgV0
phpMyAdminは?
964名称未設定:2006/09/20(水) 16:29:03 ID:57fBhbcN0
>>961
iconvってやった事無いけど調べてみる
>>962
たしか出来た様な気もするけど、コマンドラインでのやり方は詳しくないもんで。
>>963
phpmyadminではもちろんウマくいってます。
webプログラムの開発するのにクエリーのテストとかはターミナル経由のほうが使いやすいもんで。

ちなみに、ローカル環境(mysqlのバージョンはちょっとちがうけど)ターミナルでeucにするとちゃんとコマンドラインでテーブルの中身も文字化けせずに表示されますです。
965名称未設定:2006/09/20(水) 17:18:08 ID:RJXt82fC0
単にterminfoの問題じゃないの?
966964:2006/09/21(木) 02:45:34 ID:k3DmpYbb0
>>965
うん、そうかもしれん、3メートル歩けばすむ問題だからここはあきらめるとする。
納期が差し迫ってるときに限って小さい問題にこだわりたくなるな・・・いつも。
967964:2006/09/24(日) 02:48:24 ID:FpKkfUzZ0
この前お世話になったからおもろいコマンドを紹介しておく。

http://homepage.mac.com/misty_rc/doc/tree.html
web関係の仕事をしてる漏れは、プログラムのファイル構成をマニュアル化するときとか、このコマンドすごい重宝してます。
ちゃんと10.4でも使えるお
968964:2006/09/24(日) 03:11:17 ID:FpKkfUzZ0
あ。他にも聞こうと思ってたことがあったんだった。
ターミナル上で、「キーボードだけで」任意の文字列を選択する方法って無いもんかな?
普通のGUIエディタみたいにシフト押しながら←→で、みたいな。
969名称未設定:2006/09/24(日) 03:25:31 ID:Nt5r8Buo0
選択して何をしたいかによるけど、基本的にGUIな操作はシェルの範囲外で
Terminal.appの範疇になる。command + option + return 押した後、矢印が
それにあたるのかも。

単純に何かをクリップボードにコピーしたいなら標準出力にだしてpbcopyしてやればいい。
970964:2006/09/24(日) 03:47:19 ID:FpKkfUzZ0
>>969
なにをしたいか、ってのは、単にターミナル上での操作、パス、なんかをメモとしてコピペしておいたりとかそんな感じですね。

>command + option + return 押した後、矢印
おお、知らなかった!トグルになるわけですね。
こんなの一体どこで知ったんですか?
慣れれば、まさにコレが望んでたものです。
op + cmd + 左右矢印で一気に行頭末までも選択出来るんだ!
971名称未設定:2006/09/24(日) 03:56:14 ID:Nt5r8Buo0
>>970
望む機能はそれだったのか、良かった。
知ったのはメニューを何とはなしに見てた時に。
でもパスや履歴とかなら

pwd | pbcopy
history | pbcopy

とかでもいいんじゃなかろうか。zsh でグローバルエイリアス使えばさらに楽になるし。
972名称未設定:2006/09/24(日) 07:11:37 ID:osGyDelH0
質問させてください。

Terminalから、GUIのポップアップメッセージを出力させるコマンドは
あるでしょうか。


ある時間になったらcronでメッセージを表示、などしたいと考えています。
973名称未設定:2006/09/24(日) 08:15:59 ID:drMwaDwM0
osascript -e 'tell application "Terminal" to display dialog "hoge"'
974名称未設定:2006/09/24(日) 09:55:20 ID:J534tKP/0
>>970
GNU screenつかってしまえ
975972:2006/09/24(日) 10:27:16 ID:osGyDelH0
>>973
ありがとうございます!
976名称未設定:2006/09/27(水) 21:18:26 ID:SvHXp1Hj0
こんばんは、
OlenLaszloをインストールしたら??
ターミナルを起動すると、毎回、OpenLaszloが起動してしまいます。
まるで、デフォルト・シェルのように!!
私は、UNIXしかしらない初心者です。何かヒントがあったらお願いします。
977名称未設定:2006/09/27(水) 22:03:15 ID:u8og87GD0
皮先病か。
978名称未設定:2006/09/27(水) 22:13:14 ID:/fvtEel70
ネットワーク環境のHTTPプロキシのOn/Offをシェルから弄りたいんですが、
そういうコマンドってありますかね?
scutil --proxy だと表示はできても設定はできないみたいですし・・・
979978:2006/09/28(木) 00:26:24 ID:Snwy+MOk0
自己解決。scutilの引数なしのモードでできました。

#! /bin/bash
(echo "get State:/Network/Global/Proxies"
echo "d.add HTTPEnable # 0"
echo "set State:/Network/Global/Proxies"
) | scutil

0ならoff、1ならonです。要root権限。

参考:ttp://www.afp548.com/article.php?story=20050703052052393
980名称未設定:2006/10/02(月) 06:13:38 ID:2Fi6GtVe0
959です
>ファイルパスをエスケープした形の文字列にしたいのですが
まだ悩んでいます。解決策が見つかりません。
空白やクオートなどを含むファイル名をどのように取り扱えば
よいのでしょうか・・・
981名称未設定:2006/10/02(月) 11:47:57 ID:d5Zljm/v0
なんでエスケープしなくちゃいけないのかな
"$ORGPATH"じゃ不都合でも?
982名称未設定:2006/10/03(火) 07:57:55 ID:nY+yWr2c0
>>981
不都合だから困ってるんだろう。
お前は二つの過ちを犯している。

(1)知らなければ出てくるな。
(2)人をバカにしすぎだ。(1)なのだから謙虚に生きろ。

>>980
tr "/ぱたーん"
983名称未設定:2006/10/03(火) 10:58:58 ID:dWagg5/N0
>>982
便乗質問です。
もとの質問者が使用しているsedではなく敢えてtrでの作業を勧める理由・長所などを教えてください。
984931続き:2006/10/03(火) 13:55:35 ID:7o7gfqrl0
>>980
>空白やクオートなどを含むファイル名をどのように取り扱えば
>よいのでしょうか・・・
結構、やっかいなんだよね。空白やクオートだけに対処すれば
いいのなら簡単なんだけど、他の制御コード(タブや改行など)
が、入っている場合とか。

空白やクオートだけの場合
newpath=$(echo $PATH | sed -e "s/ /¥¥¥ /g" -e "s/'/¥¥¥'/g" -e 's/"/¥¥¥"/g')
他の制御コードだと、必要な数だけsedコマンドを並べる?
う〜ん泥縄だ。
985984:2006/10/03(火) 13:57:05 ID:7o7gfqrl0
うはっ、名前がぁw
986名称未設定:2006/10/03(火) 22:15:53 ID:tn21Cdpb0
>>982
バカにしてるんじゃなくて素朴に疑問に思っただけだよ。
もしスクリプトの中で完結するようなものならダブルクォーテーションで囲めば
済むんじゃないか、というぐらいの軽い気持ちで書いたんだけど、
何か気に障ったなら謝っておくよ。
987名称未設定:2006/10/03(火) 22:35:30 ID:1d6nCK1i0
>>986

もともとは日本語も含めたファイル名を正しく扱う方法が見つ
けられないかと思ったまでです。
一度でもシェル変数を展開されてしまうと、\とかが省かれて
しまうし、これをキープしたままで処理したいと思ったんです。
スペースと\とシングル/ダブルクオートだけなら、たしかに
>984
の方法でいいんですけれども・・・
Cシェルだとこの辺楽らしいんですよね。

シェルではなく、別のスクリプト言語で書いた方がいいのかな。
988名称未設定:2006/10/03(火) 22:50:43 ID:lawnl0OmP
ファイルにスポットライトコメントを付けるコマンドありますか?
989名称未設定:2006/10/03(火) 23:36:05 ID:7o7gfqrl0
>>987
すまん、一体何をどう処理したいのかよく判らん。

シェル変数を展開されたら、またクオートしてやれ
ば、いいのじゃないか。
単にシェル変数を展開されたくなければ、シェル変数
を、クオートするとか。-> ¥$PATH

日本語(マルチバイトコード)の処理も、やっかいだ。
まず、「ファイル名を正しくあつかう」とは?
漢字コードの変換もするのか?
これは、正直無理だ。一文字や二文字の漢字コード
では判断できない場合が多い。

また漢字コードの何バイト目かに、じゃまなコードが
入っている場合もあるかもしれない。

結論
いっその事、アルファベットと数字以外は全部クオート
しろって事になるな。
990989:2006/10/04(水) 04:36:31 ID:5gOKDURY0
用語の勘違いを訂正
いっその事、アルファベットと数字以外は全部クオート
しろって事になるな。

正しくは、アルファベットと数字以外は全部「エスケープ」
しろって事です。
こんな感じかな?仮想スクリプトでアルゴリズムを、記述してみました。
testPath ="/foo's/foo bar/日本語/test123.txt"
strLen = length(testPath)
for (index = 1; index < strLen; index++)
{
  testChar = get1byte(testPath, index)
  if ( (testChar in [alphabet]) or (testChar in [number]) or (testChar in ["/","."])) then
    newPath = newPath + testChar
  else
    newPath = newPath + "¥x" + codetohex(testChar)
  endif
}
print "結果" , newPath
結果/foo¥x27s/foo¥x20bar/¥xe6¥x97¥xa5¥xe6¥x9c¥xac¥xe8¥xaa¥x9e/test123.txt
漢字コードによって結果が違うだろうけど。
991990つづき:2006/10/04(水) 04:49:17 ID:5gOKDURY0
perlによるインプリメントの例
#!/usr/bin/perl
$testPath ="/foo's/foo bar/日本語/test123.txt";
$strLen = length($testPath) - 1;

foreach $index (0..$strLen) {
    $testChar = unpack("x$index a1", $testPath);
    if ( ($testChar =~ /[[:alnum:]]/) || ($testChar =~ /[¥/,¥.]/) ) {
        $newPath .= $testChar;
    } else {
        $newPath .= "¥¥x". unpack("H2", $testChar);
    }
}
print "結果", $newPath, "¥n";

ごめんシェルスクリプトは、判んないや。
暇な方は、他言語でやってみて。
992名称未設定:2006/10/04(水) 07:53:10 ID:F1rkP6JR0
乙。
と思ったんだけど、これだとファイル名に / とか . とか , とか
含まれるケースで処理できないのでわ。
993名称未設定:2006/10/04(水) 07:56:07 ID:F1rkP6JR0
やっぱり、シェルスクリプトを書き出して呼び出すってのが
エスケープ周りを処理する一番確実な方法かも。

//

自分は、こういうときは面倒でもAppleScriptで書きたくなる。
エスケープはquoted form of posix path of xxxで一括変換できる
から。

994名称未設定:2006/10/04(水) 08:31:20 ID:GRBL0fHV0
>>992
ああ、その場合か。
試しに、適当なフォルダかファイルにスラッシュを入れて
lsしてみれば分かるよ。
コンマはエスケープしなくても大丈夫だろうと思うよ。
もちろんMaxOSX限定だよ。他のOSまでは、知らん。
995名称未設定:2006/10/04(水) 08:44:21 ID:GRBL0fHV0
なんだよMaxOSXってwちょっと欲しいかも。
996名称未設定:2006/10/04(水) 08:54:13 ID:F1rkP6JR0
>>994

うげ!コロンがスラッシュに置き換えられるなんて!

$ touch aaa¥/bbb¥/ccc
touch: aaa/bbb/ccc: No such file or directory

まじすか!こんな仕様だったんだ...
997名称未設定:2006/10/04(水) 08:58:08 ID:GRBL0fHV0
もう、OSXでUnixスレと統合してもいいじゃね?
ターミナルだけの話題でも無い事多いし。
998名称未設定:2006/10/04(水) 10:21:37 ID:4Y1+EdQY0
向こうのスレでこういう話がだらだら続くのは鬱陶しい。移る必要なし。
999名称未設定:2006/10/04(水) 10:45:25 ID:GRBL0fHV0
向こうは向こうでダラダラしているから、丁度良いと
思ったんだかなあ。
じゃあ、1000取った人は責任もって次スレをどうぞ。
もし立てられなかったら、諦めて初心者スレでも告知
してスレ立てお願いすりゃいいじゃん。
1000名称未設定:2006/10/04(水) 11:09:24 ID:TuVBnn3W0
UNIXスレと統合されました。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。