• 締切済み

Developer Tools

ディベロッパーツールのコマンドを絶対パスでなくても認識できるように、シェル環境のカスタマイズをしたのですが、うまくいきません。 実行したこと。 setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/Developer/Tools 上記を実行すれば、認識されますが、再起動すると最初の設定に戻ってしまうので、 setenv PATH /bin:/sbin:(中略):/Developer/Tools ~/.tcshrc でとすると、 setenv :too many argument と表示され、設定はかえられません。 いろいろ検索してみましたが、わかりません。 お願いします。長文すいません。

  • Mac
  • 回答数4
  • ありがとう数4

みんなの回答

  • unyunyu
  • ベストアンサー率28% (6/21)
回答No.4

#3ですが、チルダが消えていますね。 /Library/init/tcshとあるところはホームディレクトリの/Library/init/tcshです。ルートディレクトリにも/Library/があるので間違えないようにして下さい。すみませんでした(__;)

doradoranobita
質問者

お礼

お返事ありがとうございます。 試行錯誤した結果、以下のHPを参考にして http://www.ctt.ne.jp/%7Enashorn/terminal/tcshrc.html 成功しました。 なんだか、一つの設定にしても、いろいろ手段があって驚きです。 ご親切にありがとうございました。

  • unyunyu
  • ベストアンサー率28% (6/21)
回答No.3

/usr/share/tcsh/examples/README これを一度読んでみては? 英語ですが簡単な文章なので中学生が使うくらいの辞書が有れば読めます。ここに書いてある内容は まずecho "source /usr/share/tcsh/examples/rc"  > /.tcshrcを 実行して、そのあと mkdir /Library/init/tcshをせよとあります。 そして/Library/init/tcsh/直下にpathと言うファイルを作成し そこに通したいパスを書き込めばいいと書いてあります。 set path = ( $path /Developer/Tools ) こんな感じですかね。 気を付けなくてはいけないのは改行はLF、最後の行の後にも改行が必要という事です。それともし今.tcshrcが存在するなら最初のコマンドで上書きされちゃいますので消しちゃまずかったらどっかに退避させておく事です。 私の場合はmiというエディタで/Library/init/tcsh/を登録してあるので簡単にアクセス出来て便利です。 /Library/init/tcsh/にaliases.mineと言うファイルを作ればそこにaliaseを登録出来ます。 rc.mineにはターミナルウィンドウを新しく作るたびに 動かしたいスクリプトを置いておくと便利です。 こういう事でしょうか?外していたらご免なさいm(__)m

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

.tcshrcで設定するなら、こんな感じ: set path = ( /bin /sbin /usr/bin /usr/sbin /usr/local/bin /Developer/Tools ) viかpicoかTextEdit.appで編集したほうが、手っ取り早いでしょう。

参考URL:
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=tcsh&dir=jpman-4.6.0%2Fman&sect=0
doradoranobita
質問者

お礼

ありがとうございます。何度か挑戦してみましたが、やはり再起動すると最初の設定に戻ってしまいます。 むしろ、PATHの最初の設定から /usr/local/bin が消えました。 terminalを立ち上げるたびに、打ち込めがいいのでしょうか。う~んさらなる勉強が必要ですね。

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

>setenv PATH /bin:/sbin:(中略):/Developer/Tools ~/.tcshrc つまり.tcshrcにこの行を加えたいということでしょうか? それだったら setenv PATH /bin:/sbin:(中略):/Developer/Tools >> ~/.tcshrc ではないですか? リダイレクトが抜けているのでsetenvがアーギュメントの数が多すぎるといってくるのでは? 単に.tcshrcにこの行だけのものを作りたいのだったら >>ではなく>になりますが。

doradoranobita
質問者

お礼

ありがとうございます。早速 setenv PATH /bin:(中略) /Developer/Tools > ~/.tcshrc と打ち込み、設定を確認すると/Developer/Toolsが認識されたのですが、 再起動した結果今まで、echo $PATH で /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin と表示されていたのが 上記の行のusr/local/binが消えた行になりました。もちろん、Developer/Toolsは認識されていません。 う~ん。どうしてでしょうか。

関連するQ&A

  • シェルコマンドでphpを実行したい!

     さくらインターネットでcron設定を使って月末になると起動するphpを読み込もうとしたいのですが、どうやっても上手くいきません。 いろいろと参考になるサイトはあるのですが、動かない理由がわからないのでどなたか教えてください。  まず、cron設定で設定しているシェルのファイルが置いてあるパスに間違いはありません。  次にシェルファイルに書いてあるコードは以下です。 #!/bin/sh PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin cd /home/自分のID/www/自分で作ったフォルダ/; ./自分で作ったフォルダ/phpファイル という風に書いてあります。 ところが、時間になるとこれが実行されず、 サーバーよりエラーメールが届きます。 [not found]と一言。 …最初、シェルファイルの階層が間違っているかと思ったのですが、 どう見てもあってますし…中身が問題なのかなぁ、と考えます。 何かわかれば、是非教えてください。 お願いします。

    • ベストアンサー
    • PHP
  • シェル変数(path)の挙動がわかりません

    シェル変数の挙動がわからなくて困っています。 以下のような3ファイルがあります。 % cat /tmp/test_config.sh #!/opt/local/bin/zsh path=($path /tmp) % cat /tmp/test.sh #!/opt/local/bin/zsh . /tmp/test_config.sh echo $PATH echo $path /tmp/test2.sh % cat /tmp/test2.sh #!/opt/local/bin/zsh echo $PATH echo $path which test.sh これを、所有者のユーザで実行するのとsu -c で実行するので挙動が変わります。 % /tmp/test.sh /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /tmp/test.sh % sudo su - hogehoge -c /tmp/test.sh /bin:/usr/bin:/usr/ucb:/usr/local/bin:/tmp /bin /usr/bin /usr/ucb /usr/local/bin /tmp /bin:/usr/bin:/usr/ucb:/usr/local/bin /bin /usr/bin /usr/ucb /usr/local/bin test.sh not found この挙動の違いは、何から産まれるんでしょう? .zshrc でそういう設定ができるんでしょうか? .zshenv は使ってません。 (なお、環境変数$PATHを使えば目的は果たせると言うのはわかっています)

  • シェルからJava起動

    シェルからJavaを起動するには、 setenvでCLASSPATHを事前に設定し、 java クラス名 では実行できず、 java -classpath クラスパス クラス名 で実行するしかないのでしょうか? 以下では実行できませんでした・・ #!/usr/bin/csh setenv CLASSPATH /export/home/test/jdk13/lib/tools.jar setenv CLASSPATH /export/home/test/batch/java:${CLASSPATH} java B123

  • LINUXサーバーについての質問です。

    LINUXサーバーについての質問です。 http://qiita.com/suin/items/5c4e21fa284497782f71 上記サイトのシェルスクリプトの42行目の PATH=/sbin:/usr/sbin:/bin:/usr/bin は何を意味してるのでしょうか? このシェルスクリプトのファイルの置かれているパスですか? そうであれば、シェルスクリプトには必ずパスを記入するものでしょうか? 教えてください。

  • バックアップファイルからの/usr復元について

    SUNのNetraT1において、/usrが破損してしまい、バックアップで保存してある/usrのTARファイルから上書きした際、失敗してしまいOS(Solaris8)が起動しなくなってしまいました。 対応として、OSのCDROMからブートしてTARファイルから復元を試みましたがうまく行きません。 試みようと考えている方法としては、下記を考えております。  1・OS CDROMからブート  2・シェルをCSHに変更し、/usrに通っていたPATHを/cdrom…に変更  3・/usrをumount、実機のハードディスクを/usrにmount  4・バックアップファイルの復元     (ソフトウェアミラー構成なので3と4を2回実施)  5・実機の起動  ※CSHを使用しているのは、動作中にPATH設定を変更出来たシェルだったた  めです。  ※/usrにマウントしなければならない理由ですが、TARで圧縮する際に   /usrごと行ってしまった為、解凍先を変更できない為です。 実施した結果としては、PATHを変更したにもかかわらず、/usr/libを参照してしまい、tar、ls等コマンド実行時に実機の破損したld.so.1等のモジュールを読む為、エラーになってしまいます。  設定したPATH (Solaris8 CDROMディスクへのPATHです)   path (/sbin /cdrom/Solaris_8/Tools/Boot/usr/sbin/install.d \      /cdrom/Solaris_8/Tools/Boot/usr/bin /cdrom/Solaris_8 \      /Tools/Boot/usr/lib) フルパスでコマンドを実行しても同様です。  例:#/cdrom/Solaris_8/Tools/Boot/usr/sbin/fsck コマンドを実行した際、PATHを/usrに見に行かせない方法がございましたら教えていただけないでしょうか。   また、TARで/usrに解凍する様に作成したバックアップファイルを、解凍時に 別のディレクトリ配下に解凍する事は可能なのでしょうか。 勉強不足で申し訳ございませんが、よろしくお願いいたします。

  • パス(PATH)の設定ファイルについて

    OSはRed Hat Linux 9 を使用しております。 また、シェルはbashを使用しております。 ユーザがシステムにログインする際は、通常ですと /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ファイルを読込、パス(PATH)の設定を行うと思いますが、 sshでrootユーザでシステムにログインした際は、 「echo $PATH」の結果は以下でした。 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin su -で再度rootユーザでログインした際、もしくは、他ユーザからsu -でログインすると 「echo $PATH」の結果は以下でした。 /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/sbin ログインの仕方でパス(PATH)に違いがあります。 また、「/usr/local/bin」をパス(PATH)として設定している記述が 上記ファイルに見当たりません。 http://sakaguch.com/PastBBS/0038/B0018808.html http://oshiete1.goo.ne.jp/kotaeru.php3?q=800405 等のサイトを参考に、以下ディレクトリ配下を確認しましても /etc/profile.d /etc/rc.d/init.d /etc/rc.d/rc3.d 「/usr/local/bin」をパス(PATH)として設定している記述が 見当たりません。 ログインの仕方でパス(PATH)に何故違いがあるのか、 また「/usr/local/bin」をパス(PATH)として設定している記述がある ファイルをご存知の方ご教授頂きたく思います。 宜しくお願いします。

  • qmail Part2

    /var/qmail/rc の中身を ./Maildir に変更しました。 #/var/qmail/bin/maildirmake /etc/skel/Maildir を実行して #useradd user00 を作成し中身を確認すると /home/user00/Maildir /home/user00/.qmail は正常に作成されておりました。 #/var/qmail/rc & を実行すると 「1」 685 #PATH=/var/qmail/bin:/bin:/sbin:/usr/bin:/var/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin と出ます。(これって動いていないんですよね?) BINDは動作している様子です。

  • 環境変数の設定(PATH)

    今、環境変数の設定(PATHの設定)を行っています。 OSは、RedHat9です。 スーパーユーザーのPATHは、 echo $PATHコマンドで見ると /usr/local/sbin:/usr/bin:/home/user1/test となっている。 しかし.bash_profileをみると PATHには、/usr/local/sbin:/usr/binしか 設定しておらず、 ユーザー(user1)の.bash_profileにも /home/user1/testをPATHに設定していない。 どこかでPATH設定を行っていると思いますが わかりません。 PATHの設定は、.bash_profileを設定するとは わかっているのですが、 スーパーユーザーの.bash_profileの記述と echo $PATHで見たPATHの構成がことなるのは なぜでしょうか? よろしくお願い致します。

  • cronが動かない

    cron初心者なのでお願いいたします。 fedora5で以下のようなCronを動かそうとしています。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin HOME=/htdocs/program 45 18 * * * perl U9901.pl rootで作成し、/var/spool/cronのrootの実行権限は755になっています。 しかし実行されません。 編集後、crondは再起動しています。 どのような原因が考えられますでしょうか? 過去ログも見たのですが、それらしいものが無かったので質問させてください。 お願いします。

  • パスがうまく通らないので、パスについて教えてください。

    パスがうまく通らないので、パスについて教えてください。 ▽やりたいこと http://okwave.jp/qa/q6132108.html ▽知りたいこと  →パスを通すとは、具体的に、どこのことを指すのでしょうか? 1)php infoのinclude_path(ブラウザで確認) Configuration PHP Core include_path .:/usr/local/lib/php 2)php infoのPATH(ブラウザで確認) Environment Variable Value PATH /command:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin 3)echo $PATH(SSHで確認) 出力すると、1)とも2)とも異なる結果となります…。 パスを通すとは、具体的に、どこのことを指すのでしょうか? また、上記それぞれの意味、及び内容が違う理由を、教えてください。

    • ベストアンサー
    • PHP