
私は、Ubuntu 14.04 を使用して「パスを永続的に追加する方法」を解決しようとしています。パスに追加したいというプログラムがあったら、次のsamtools-1.2
ようにすると思います。
export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc
次に確認します:
cat ~/.bashrc
答え1
/etc/profiles.d/
これを実現するには、任意の名前で新しいファイルを作成しますが、.sh
たとえば、末尾が ... であることを確認してください。samtools.sh
次に、ファイル内に次の内容を配置します。
#!/bin/sh
export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2
source /etc/profile
その後はコマンドラインから実行します。
注:文字export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2
の後のスラッシュがありません:
。
答え2
より短い答え。
では、コマンドが機能したとしても、ここで何をしているのか100%確信していますか?私の目には、ユーザーのデスクトップにディレクトリを追加することは永久にシステム PATH への追加は、少し間違っているように思います。このようなものは、sudo make install
ソース コードをコンパイルした後、システム全体のインストールとしてインストールする必要があります。
とはいえ、ここでは、あなたが何をしようとしているのか、なぜそれが機能しないのか、それを改善するために何ができるのか、そして、先ほど言ったように、なぜこれが良いアイデアではないのか、について私の分析を述べます。
より長い答え。
まず、このコマンドは何も実行しません。
export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc
いくつかの概念が誤って混同されています。
- まず、コマンドを で開始すると
export PATH=
、新しい値が割り当てられるだけですPATH
。 - 次に、追加するパスが間違っています:
home/cmccabe/Desktop/NGS/samtools-1.2
。正しいのは ; です/home/cmccabe/Desktop/NGS/samtools-1.2
。パスの先頭のスラッシュに注意してください。 - 最後に、 は
>> .bashrc
ある程度正しいのですが、その前に何が起こっているかは間違っており、問題にはなりません。 は、>>
その前にあったものを に追加するよう Bash に指示します.bashrc
。そして、最初のコマンドは なのでexport PATH=
、何も出力されません。したがって、 に追加されるのは.bashrc
空の行だけです。 はユーザーのホーム ディレクトリである必要があるため、次のように名前の前に を.bashrc
必ず追加してください。~/
~/.bashrc
の本物コマンドがこれを望んでいた場合、コマンドは次のようになります。ただし、実行しないでください。
echo export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2 >> ~/.bashrc
ここで重要なのは、echo
which は、それに続くものをそのまま(何もせずに) に印刷するだけであるということです.bashrc
。その後、 を実行しsource ~/.bashrc
、 を実行すれば、echo $PATH
すべて設定されるはずです。
そうは言っても、これはあまり良いアイデアではないようです。
これはあなたのシステムなので、好きなように使ってください。しかし、samtools-1.2
それはプログラムのソースコードに過ぎません。コンパイルすれば多分PATH設定は/home/cmccabe/Desktop/NGS/samtools-1.2
理にかなっています。しかし、それでもバイナリを扱う最善の方法は、実際にシステムにインストールして、sudo make install
関連するすべてのファイルを適切な場所に配置し、samtools
バイナリを適切な場所にインストールする/usr/local/bin
ことです。すべきすでにあなたのPATHの一部になっています。
とはいえ、単に基本的なコンパイルを行ってsamtools-1.2
テストしたいだけなら、ユーザーのデスクトップ上のディレクトリを指すように設定するのは理にかなっています。しかし、それ以上に、あなたの質問は次のようになります。永久にプログラムをパスに追加します。その場合、私は決してお勧めしませんユーザーのデスクトップ上のディレクトリを PATH に永続的に追加したことがありますか。デスクトップ上にあるものを失うリスクが大きすぎます。