pythonファイルのセットを実行するために特定のディレクトリにcdするシェルスクリプトがあります。これでソースコード管理(スクリプトとpythonファイル)これをJenkinsワークスペースにクローンし、そこからファイルを実行したい。スクリプトは現在、Jenkinsワークスペースではなくローカルリポジトリにcdするように記述されているため、リポジトリのクローンは冗長になっています。同じマシンに存在するローカルファイルの代わりに、Jenkinsワークスペースに存在するファイルを認識してそこから実行するようにcdコマンドを記述しますか?
私が正しく理解していれば、test
ディレクトリをスクリプトと同じ場所に配置する必要があります。
スクリプトの場所は、次のように取得できます(スクリプトを実行したときの現在のディレクトリに関係なく)。
MYPATH=`dirname \`readlink -e "$0"\``
次に、たとえば、
cd "$MYPATH/test"
説明:
$0
は、スクリプトの名前(パスを含む)です。
readlink -e /foo/bar
は、/ foo/barの絶対位置を示します(シンボリックリンクも解決します)。
dirname
はファイル部分を切り取り、パスだけを残します