1

実際、私はインターネットから現在のユーザーのホームディレクトリにソフトウェアをダウンロードし、それを展開するスクリプトを作成しました。今の問題は、現在のディレクトリを変更してこれらすべてのコマンドを実行したくないということです。

コマンドでパスを指定する方法はありますか (make、make install、python setup install)

のように: python /home/username/Desktop/urllib/setup.py install

make /home/username/Desktop/somedir/

make install /home/username/Desktop/somedir/

4

1 に答える 1

0

のマニュアルページによるとmake

-C dir, --directory=dir
     Change to directory dir before reading the makefiles or doing anything 
     else.  If multiple -C options are specified,  each  is interpreted  
     relative to the previous one: -C / -C etc is equivalent to -C /etc.  
     This is typically used with recursive invocations of make.

したがって、次のように入力できる必要があります。

make -C /home/username/Desktop/somedir/
make -C /home/username/Desktop/somedir/ install

Pythonコマンドラインに相当するものはありません。ただし、シェルスクリプトでこれを使用することを検討してください。

(cd /home/username/Desktop/urllib/ && python setup.py install)

括弧内のコマンドは「サブシェル」で実行されます。したがって、スクリプトの作業ディレクトリは変更されませんが、pythonコマンドは/home/username/Desktop/urllib/ディレクトリから実行されます。を使用すると、コマンドが成功し&&ない限りPythonコマンドが実行されないことが保証されます。次のコマンドでもcd同じトリックを使用できます。make

(cd /home/username/Desktop/somedir/ && make && make install)
于 2013-01-21T08:12:25.493 に答える