タグ付けされた質問 「path」

PATH(すべて大文字)は、Unixのようなオペレーティングシステム、DOS、OS / 2、およびMicrosoft Windowsの環境変数の名前で、実行可能プログラムが検索される一連のディレクトリを指定します。

11
PATHにパスを正しく追加する方法は?
PATH環境変数のどこに新しいパスを追加する必要があるのか​​疑問に思っています。これは.bashrc(たとえば)編集することで達成できることは知っていますが、これを行う方法は明確ではありません。 こちらです: export PATH=~/opt/bin:$PATH それともこれ? export PATH=$PATH:~/opt/bin

7
cronがジョブを実行するときの「作業ディレクトリ」とは何ですか?
コマンドラインから実行すると機能するスクリプトがありますが、スケジュールを設定するとcron、ファイルやコマンドが見つからないというエラーが発生します。私の質問は2つあります。 を使用してcronジョブをスケジュールするcrontab -e場合、ユーザーIDを許可の基礎として使用しますか?または、ある種のcronユーザーIDとそれに関連する権限を使用しますか? cronジョブが起動されたとき、作業ディレクトリは何ですか?実行するスクリプトを指定するディレクトリですか、それとも別のディレクトリですか? これが私のcronジョブです。 15 7 * * * /home/xxxx/Documents/Scripts/email_ip_script.sh 実際のスクリプトは次のとおりです。 vIP_ADDR="`curl automation.whatismyip.com/n09230945.asp`" echo "$vIP_ADDR" sed "s/IPADDR/$vIP_ADDR/g" template.txt > emailmsg.txt ssmtp XXXXX@gmail.com < emailmsg.txt mail生成されたメッセージを表示すると、次のエラーが表示されcronます。 sed: can't read template.txt: No such file or directory /home/xxxx/Documents/Scripts/email_ip_script.sh: line 15: ssmtp: command not found 見つけることができませんtemplate.txtが、スクリプトと同じディレクトリにあります。実行することもできませんがssmtp、ユーザーとして実行できます。これを適切に機能させるために何が欠けていますか?

6
ユーザー環境変数を設定するにはどうすればよいですか?(永続的に、セッションではありません)
これは私をいらいらさせます。いくつかの提案(すべて異なるファイルと構文を使用)を見ましたが、どれも機能しませんでした。 特定のユーザーに環境変数を設定するにはどうすればよいですか?私はdebian squeezeを使用しています。ABC = "123"にするためにファイルに入れるべき正確な構文は何ですか?

7
「sudo」で$ PATHを保持する方法は?
/ opt / godi / sbin(カスタムディレクトリ)にインストールされたプログラムを実行する必要があります。次の行を.bashrcファイルに追加して、そのディレクトリをPATHに追加する場合 export PATH=$PATH:/opt/godi/bin:/opt/godi/sbin その後、コマンドを正常に実行しようとすることができます(sudoが必要であるため失敗します)。ただし、sudoを使用しようとすると: sudo godi_console 次のエラーが表示されます sudo: godi_console: command not found sudoを使用した後にPATH変数を調べると、通常のユーザーと同じPATHが含まれていないことがわかります。 $ sudo sh # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PATHが同じではないのはなぜですか?私は何か間違っていますか?私はDebian Jessieを使用していますが、残念ながら、sudoにgodi_consoleへの絶対リンクを渡すことで問題を回避することはできません。godi_console自体も正しく設定されているPATHに依存しているためです。
123 sudo  path 

4
実行可能ファイルは、実行時に共有オブジェクトをどこで検索しますか?
リンク/コンパイル時に共有オブジェクトを含める定義方法を理解しています。ただし、*.so実行時に実行可能ファイルが共有オブジェクト(ライブラリ)をどのように検索するのか、まだ疑問に思います。 たとえば、私のアプリa.outはlib.soライブラリで定義された関数を呼び出します。コンパイル後lib.so、の新しいディレクトリに移動し$HOMEます。 a.outそこに探しに行くと言うことができますか?

3
を追加しても安全ですか?私のパスに?どうして?
他の 回答で、現在の作業ディレクトリ( ' .')を$PATH環境変数に含めるのは悪い考えだと人々が言及しているのを見たことがありますが、この問題に特に対処する質問を見つけることができませんでした。 それでは、なぜ.パスに追加しないのですか?すべての警告にもかかわらず、とにかくそれを行う場合、私は何に注意する必要がありますか?最初に追加するよりも最後に追加する方が安全ですか?
49 path 

16
awkコマンドで重複した$ PATHエントリを削除する
PATH環境変数からディレクトリの重複コピーを削除できるようにするbashシェル関数を作成しようとしています。 コマンドを使用して1行のコマンドでこれを実現することは可能であると言われましたがawk、その方法はわかりません。誰もが方法を知っていますか?
48 bash  shell  awk  path 

5
$ PATHのエントリが重複していますか?
私は数人の友人のbashrcを調達しています。そのため、$ PATH変数に重複したエントリができてしまいます。開始に時間がかかるコマンドの問題かどうかはわかりません。$ PATHはbashで内部的にどのように機能しますか?PATHを増やすと起動時間が遅くなりますか?
45 bash  path 

4
人間が読める方法でPATHを表示する
PATH環境変数をより人間が読める方法で表示したい。 $ echo $PATH /Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin:/Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin:/Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/arturo/.rvm/bin:/usr/local/git/bin:/Users/arturo/.gvm/groovy/current/bin:/Users/arturo/.gvm/grails/current/bin:/Users/arturo/.gvm/griffon/current/bin:/Users/arturo/.gvm/gradle/current/bin:/Users/arturo/.gvm/lazybones/current/bin:/Users/arturo/.gvm/vertx/current/bin:/Users/arturo/.gvm/bin:/Users/arturo/.gvm/ext:/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin 私はこのようなことを考えています: $ echo $PATH | some cut and awk magic /Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin /Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin /Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin /Users/arturo/.rvm/bin ...

2
$ PATHに$ HOME / .local / binがあるディストリビューションはどれですか?
例:Ubuntuでは、.localホームディレクトリに常にディレクトリがあり.profile、次の行が含まれています。 PATH="$HOME/bin:$HOME/.local/bin:$PATH" $HOME/.local/binデフォルトでは存在しませんが、作成された場合は既に存在し$PATH、その中の実行可能ファイルが見つかります。 これは、XDGディレクトリ仕様では正確に言及されていませんが、派生したようです。 私が疑問に思うのは、これが最も一般的なエンドユーザーディストリビューションに存在すると通常想定できるほど十分に一般的であるかどうかです。たとえば、すべてのDebian派生物ですか、それとも少なくともUbuntu派生物ですか?Red Hat / Fedora / CentOSエコシステムはどうですか?Arch、Suse、そして最近人々が使用しているものなど。 明確にするために、これはのみであり$HOME/.local/bin、ではありません $HOME/bin。 好奇心から、あなたが情報を持っているなら、BSD、OS / Xなどを自由に含めてください。:)

7
sudoとsuを介して実行する場合、PATH変数が異なるのはなぜですか?
私のfedora VMで、ユーザーアカウントで実行している場合/usr/local/bin、次のパスにあります。 [justin@justin-fedora12 ~]$ env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin そして同様に実行するときsu: [justin@justin-fedora12 ~]$ su - Password: [root@justin-fedora12 justin]# env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/justin/bin ただし、を介して実行する場合sudo、このディレクトリはパスに含まれません。 [root@justin-fedora12 justin]# exit [justin@justin-fedora12 ~]$ sudo bash [root@justin-fedora12 ~]# env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/sbin:/bin:/usr/sbin:/usr/bin 経由で実行するとパスが異なるのはなぜsudoですか?


3
すべてのパスでCygwinの/ cygdriveプレフィックスを削除するにはどうすればよいですか?
Git for Windowsに同梱されているbashシェルからCygwinに切り替えていますが、奇妙な問題が発生しています。誰か/cygdrive/がすべてのパスに追加するのは良い考えだと思いましたが、それは恐ろしくideaい考えだと思います。私はこれを追加することでこれを部​​分的に修正できると判断できました mount --change-cygdrive-prefix / export HOME=/c/Users/BZISAD0 .bashrcにありますが、PATH変数を見ると、すべてに/ cygdrive /が含まれています。私はPATHを修正するスクリプトを書くことができると思いますが、それは私がすでにやっていることよりももっと厄介です。そこより良い方法があるはず、と私はそこのCygwinの古いバージョンがGitリポジトリのbashシェルが使用する(私の知る限り)以来で、それが何らかの形に構成されていますかなり確信していない先頭に追加/cygdriveどこでも。それでは、「Suck」ノブをゼロにするにはどうすればよいですか?
36 path  cygwin  bashrc 

2
cronのPATHはどこに設定されていますか?
Cronは、crontabを持つユーザーのパスを使用せず、代わりに独自のパスを持ちます。PATH=/foo/barcrontabの先頭に追加することで簡単に変更でき、古典的な回避策は、cronによって実行されるコマンドへの絶対パスを常に使用することですが、cronのデフォルトPATHはどこで定義されていますか? 私はArchシステム(cronie 1.5.1-1)で次の内容のcrontabを作成し、Ubuntu 16.04.3 LTSボックスでも同じ結果をテストしました: $ crontab -l * * * * * echo "$PATH" > /home/terdon/fff 印刷されたもの: $ cat fff /usr/bin:/bin しかし、なぜ?デフォルトのシステム全体のパスはに設定され/etc/profileていますが、他のディレクトリが含まれています。 $ grep PATH= /etc/profile PATH="/usr/local/sbin:/usr/local/bin:/usr/bin" /etc/environmentまたは/etc/profile.dに関連するものは他にありません。私が考えた他のファイルは、おそらくcronによって読み取られる可能性があります。 $ grep PATH= /etc/profile.d/* /etc/environment /etc/profile.d/jre.sh:export PATH=${PATH}:/usr/lib/jvm/default/bin /etc/profile.d/mozilla-common.sh:export MOZ_PLUGIN_PATH="/usr/lib/mozilla/plugins" /etc/profile.d/perlbin.sh:[ -d /usr/bin/site_perl ] && PATH=$PATH:/usr/bin/site_perl /etc/profile.d/perlbin.sh:[ -d /usr/lib/perl5/site_perl/bin ] && PATH=$PATH:/usr/lib/perl5/site_perl/bin …
34 cron  path 

7
$ PATHにあるスクリプトと同じディレクトリの下のファイルを参照します
bashスクリプトファイルがあります。このファイルは、$ PATHに追加されたディレクトリの下に置かれ、任意のディレクトリからスクリプトを呼び出すことができます。 スクリプトと同じディレクトリの下に別のテキストファイルがあります。スクリプト内のテキストファイルをどのように参照するのでしょうか。 たとえば、スクリプトがテキストファイルの内容を出力するだけの場合、スクリプトはcat textfile別のディレクトリから呼び出されるとテキストファイルが見つからないため、機能しません。
33 bash  path 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.