環境変数にアカウントに通っているパス以外のパスを反映させたい

このQ&Aのポイント
  • 情報自動収集用のシェルを組みますが、現在使用しているアカウントにパスが通っていないため、環境変数にパスを追加しようと考えています。
  • 環境変数にパスを追加する方法として、export PATHコマンドを使用するか、PATH変数を編集してexportする方法があります。
  • export PATH = $PATH:/追加したい目的のパス または PATH = $PATH:/追加したい目的のパス export PATH のコマンドを実行すると、現在使用しているアカウントにパスが追加されますが、ルート権限が必要です。
回答を見る
  • ベストアンサー

環境変数にアカウントに通っているパス以外のパスを反映させたいです

情報自動収集用のシェルを組みましたが、 現在使用しているアカウントにパスが通っていない為、環境変数にパスを通そう(追加)と思っています。envを使用したことが無く、現在確認するためのUNIX環境が再編中のため検証ができずに困っております。私の調べましたところ export PATH = $PATH:/追加したい目的のパス もしくは PATH = $PATH:/追加したい目的のパス export PATH 上記コマンドをシェル実行前に実施すればいいのではないかと考えているのですが、 (1)上記コマンドを使用することで現在使用しているアカウントに検索するパスが追加されますでしょうか? (2)また上記コマンドを実施する際はルート権限が必要なのでしょうか? 自分のテスト環境が整っておらず恐縮ですが、御教授頂けないでしょうか、宜しく御願い致しますm(__)m

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

(1)一時的にPATHに追加したいのなら書かれている方法でOKなのですが、そのアカウントでログインしたら常に上記のようにパスが追加されている状態にしたいのであれば、.loginや.profileなどのログインプロファイルにその記述を追加する必要があります。 (2)ルート権限は必要ありません。 ところで「PATHに追加する」目的が、単にPATHに追加したディレクトリ下のシェルスクリプトを実行したいというのであれば、フルパス(/home/login_id/xxx.shなど)または相対パス(./xxx.sh)で指定すればいいと思うのですが、どうしてもPATHに追加する必要があるのでしょうか?

netgogo
質問者

お礼

どうもありがとうございます。 他に何か方法があればいいのですが 今回の質問させて頂いた経緯には3つ理由がありまして (1)自動情報収集用のシェルを実行する為に使用するアカウントでは、収集するファイルにいくつかパスが通っていないため、本来情報収集するべきファイルをとりこぼしている為、パスの追加が必要状態である^^; (2)アカウントに関しましては私の作業できる権限が決まっていますので権限にパスを追加はできない (3)ファイル自動収集用のシェルの中身を書き換えることは何かトラブルが発生した際に責任をとる場所が変わってしまう ということが主な理由で回りくどいですが一時的にパスを通したいと思いこのように質問させていただきました。どうもありがとうございました。m(__)m

関連するQ&A

  • 他のアカウントの環境変数を読み込ませ、自作シェルを動作させたいです。

    複数ファイル収集用のシェルを作成(他人作)、起動しましたが、現在使用できるアカウントではパスが通っていないため、目的のファイルの一部が収集できない状態で困っています。シェルの中身を見ましたがパスの指定がなかったため取得できていない状態でした。シェルの中身を書き換えることは他人様作成の為できませんので、、、他のパスの通っているアカウントの環境変数を読み込んだ後、そのシェルを起動したいのですがコマンド(env?)等やり方を教えてもらえないでしょうか。なお読み込ませたい環境変数はパスだけです。宜しく御願い致します。m(__)m

  • Linuxの環境変数

    複数のコンソールを開いた状態で、一つのコンソールからexportコマンドによりPATHを追加しても、他のコンソールにはそのPATH設定が反映されません。 手順が抜けているのか、何か理由があるのか教えてください。 手順 1.コンソールAとコンソールBを開く 2.コンソールAでPATHを追加  $ export PATH=~/hoge:$PATH 3.コンソールAでPATHの確認  $ env | grep PATH   PATH=~/hoge:$PATH 4.コンソールBでPATHの確認  $ env | grep PATH   PATH=$PATH (hogeがない) 環境 ubuntu 10.04

  • PowerShellと環境変数pathについて、

    PowerShellと環境変数pathについて、 Windowsの環境変数pathには、アプリケーションをインストールしたら自動的に追加されたりします。 これらの中には%systemroot%のようにdos系の環境変数を使った物もあります。 PowerShell から$env:pathを参照した場合も dosから%path%を参照した場合も pathの内容自体は同じですが、 PowerShellから実行する場合は、%systemroot%のようなdos系の環境変数は機能せず、pathが通っていない状態になります。 そんなものなのでしょうか? PowerShellを同じように使うためには、 なんとなく気持ちが悪いですが、 %systemroot%をc:\windowsで登録しなおすか、もしくは二重登録する必要があるのでしょうか? 何かスマートな方法はありますでしょうか?

  • 環境変数 PATH を消してしまいました...

    javaのPATHを通そうと設定をしたのですがコマンドプロンプトで認識されていないことが 分かり、設定を色々替えていたところ、PATHと言う項目自体消えてしまいました。 ●●のユーザー環境変数(上部のウインド)には項目がなかったのですが、新規で追加を してみたのですが、上手く動かずそちらも削除してしまいました。 システム環境の変数(下部のウインド)に元々色々な文字が入っていた物を消してしまい シャットダウンをする時や立ち上げる時、プログラムを削除する時に『●●が見つからなかった ため....』と小窓が開いてしまいます。 それを調べたところ、PATHを消してしまったことが問題のようだと分かったのですが解決の 方法が分かりません。ほとんど分からないのに色々いじりすぎたことを反省しています。 どなたか教えてください。 宜しくお願いします。

  • macportsの環境変数

    macportsをインストールし、環境変数のPATHを export PATH=/opt/local/bin:/opt/local/sbin:$PATH と入力した後すぐにenvを入れるときちんと変更が保存されてるように見えるのですが、ターミナルを再起動しenvで確認すると毎回変更前の設定に戻っています。 どのようにすればこのPATHの変更を今後全てのターミナルウィンドウに反映する事が出来ますか?

    • 締切済み
    • Mac
  • 環境変数とシェル変数

    UNIXのシェルスクリプトで使用するシェル変数と環境変数とはどういった違いがあるのでしょうか?どのように使い分ける必要があるのでしょうか?また、このような使い方をすると間違いがおこりやすいといった具体的な例など教えていただければ助かります。

  • 環境変数path と環境変数perllibについて

    わたしは、海外版の電子book端末を日本語化しているものです。 普段パソコンで、ネットと文章の作成くらいしかしていません。 perlとttftinkerをつかって、3つの日本語フォントを作成しています。 ※ttftinkerとは、perlスクリプト群で構成されたフォント作成ツールです。 次の電子book端末の日本語フォント作成サイトの指示とおり実行してます。http://mobileread-jp.com/?p=5 windowsのコマンドプロンプトで、実行してます。 以下、まとめサイトの作例手順2の指示ところが、うまくいきません。 set path=%path%;C:\ttftinker set perllib=C:\ttftinker わたしは、スタート→マイコンピュータ→右クリック→プロパティ→詳細設定→環境変数→path の手順で、pathの変数値を調べました。 そして、作例手順2の set path=%path%;C:\ttftinker を自分のPC環境に置き換えました。 set path=%path%自分のpath変数値;C:自分のttftinkerのある場所 次に、set perllib=C:\ttftinker ですが、これがよくわかりません。 set perllib=C:自分のttftinkerのある場所  に置き換えました。 上記の手順で、うまく目的の日本語フォントが作成できません。 作例手順8まであるのですが、たぶん、この作例手順2の部分で、ミスをしています。 目的の日本語フォントができあがれば良いだけなので、上記のわたしの手順にミスがありまたら、具体的に修正する方法だけ教えてください。

  • システム環境変数が保存されない?

    質問させて下さい。 set Path=%Path%;C:\*** というコマンドをバッチファイルにして実行しているのですが、マイコンピュータのプロパティからシステム環境変数を確認してもセットしたはずのパスが登録されていません。再起動しても同様です。ちなみにシステムアカウントで実行しました。 上記のコマンドは一時的にセットするもので、永久保存するコマンドは別にあるのでしょうか? 宜しくお願いします。

  • VB6.0でシステム環境変数PATHへ、%XXX%設定後、ログオフ以外で反映する方法について

    1.OS Windows2000 Professional SP4 2.プログラム VB6.0 3.質問内容   システム環境変数を登録後、ログアウトなしで、反映できない。   MS文書番号104011で、SendMessageTimeoutで、変更を通知しても   %XXXX%で、PATHに追加登録した内容が展開されない。   なお、regedt32.exeで、%XXXX%は、REG_EXPAND_SZで登録を確認 4.事象 1)登録内容   プログラムにて、システム環境変数に以下登録    A=C:\tmp    <= 新規     AA=%A%\work  <= 新規     PATH=現状項目;%A%\tmpi   <= 既存へ追加 2)プログラム実施結果    コマンドプロンプトで、確認を行うと、    AA=C:\tmp\work に、展開されているが、    PATH=現状項目;%A%\tmpi     と、展開されていない。また、この状態で、C:\tmp\tmpi に、    バッチを作成しC:\から、起動しても、PATHが通っていないため、    「プログラムが見つからない」というエラーがでます。    また、SendMessageTimeoutで、通知しても、コマンドプロンプトから    PATHを確認しても、PATH=現状項目;%A%\tmpi  となり、展開    されていない。   3)リブートすると、展開されるようです。     ※regedt32で、確認すると、PATHには、現状項目;%A%\tmpi で       登録されています。 5.疑問  リブートせずに、通知させる方法はないでしょうか?  特に、新規に登録したシステム環境変数はOKで、追加で登録したPATHに  反映できないのは、なぜでしょうか? 以上 アドバイスのほど、よろしくお願いします。

  • JAVAの環境変数が初期化されてしまいます

    Linux初心者です。 JDK6.0をインストールして、環境変数を次のように設定しました。 export JAVA_HOME=/usr/local/jdk1.6.0 export PATH=$JAVA_HOME/bin:$PATH これで一旦はjavacやjavaコマンドが使えるようになるのですが、 bashを再起動すると、また使えなくなるので再設定しなければなりません。 調べてみた所、homeディレクトリの.bash_profileを変更すると 再設定の必要がなくなると書いていたので、 # set PATH so it includes user's private bin if it exists if [ -d ~/bin ] ; then PATH=~/bin:"${PATH}" → export JAVA_HOME=/usr/local/jdk1.6.0 → export PATH=$JAVA_HOME/bin:$PATH fi と記述してみたのですが、やはりbash再起動後のPATHに 上記のパスは含まれていません。 私の記述方法が間違っているのでしょうが、 どうすれば自動的にパスを通すように設定できるのでしょうか? ターミナルはubuntu6.10からGNOME端末を使用しています。 よろしくお願いします。