Pythonファイルセットを実行するために特定のディレクトリに移動するシェルスクリプトがあります。これでソース管理(スクリプトファイルとPythonファイル)にコミットしたので、Jenkinsワークスペースに複製してそこからファイルを実行しようとしています。スクリプトは現在Jenkinsワークスペースではなくローカルリポジトリに作成されているため、リポジトリの複製は重複します。 Jenkinsワークスペースに存在するファイルを認識し、代わりにそこで実行するようにcdコマンドを作成するにはどうすればよいですか?同じコンピュータに存在しますか?
答え1
test
私が正しく理解したら、ディレクトリがスクリプトと同じ場所にあることを望みます。
次のようにスクリプトの場所を取得できます(スクリプトの実行時に現在のディレクトリに関係ありません)。
MYPATH=`dirname \`readlink -e "$0"\``
それからあなたは次のことをすることができます
cd "$MYPATH/test"
説明する:
$0
スクリプトの名前(パスを含む)。
readlink -e /foo/bar
/foo/bar の絶対位置を提供します (シンボルリンクも解決しました)。
dirname
パスだけを残し、ファイル部分をトリミングします。