現在の作業ディレクトリに「release-1.0.0.jar」ファイルがあり、それを「release_dir」ディレクトリにコピーしようとしています。
export t_version="1.0.0"
mkdir -p release_dir
cp release-${t_version}.jar release_dir
間違い:cp: cannot stat ‘release\\-1.0.0\r.jar’: No such file or directory
答え1
あなたのスクリプトは、Windowsシステムで書かれているか、DOSラインエンディングを獲得しました。
つまり、スクリプトの各行には追加のキャリッジリターン(\r
)があり、これは変数にt_version
実際の値があり、1.0.0\r
作成したディレクトリが実際に呼び出されることrelease_dir\r
を意味します。
次のコマンドを使用して、スクリプトファイルをUnixテキストファイルに変換しますdos2unix
。
dos2unix myscript.sh
そして、名前が間違っているディレクトリも削除してください(を使用していると仮定してくださいbash
)。
rmdir $'release_dir\r'