2 つの .csv ファイルを入力として使用する exe があります。次のように:
cSplittinglines.exe srcdir\file.csv destdir\file.csv
スクリプトが実行されているディレクトリがexeの場所に影響しないように、シェルスクリプトを使用してこの.exeを実行するにはどうすればよいですか?別名exeパスをハードコードしないでください。以下は私が書いているスクリプトです。
#!/bin/sh
STARTTIME=`date '+%Y%m%d.%H%M%S'`
LOGFILE=${ERRDIR}/${0}.${STARTTIME}
SplitDir=$1
LyxlamDir=$2
echolog ()
{
echo $*
echo $* >> ${LOGFILE}
}
for file in "${SplitDir}"/*; do
if [ -d "$file" ]; then continue; fi
extension=${file##*.}
if [ "$extension" = "csv" ]
then
cSplittingLines.exe "$file" "${LyxlamDir}"
mv "$file" "${SplitDir}/old"
fi
done
ベストアンサー1
exeを$ PATHに入れてください(これはその目的です)(Windowsの場合は%PATH%)。
mv cSplittingLines.exe /bin/
または
echo "export PATH=\"\$PATH:/path/to/exe\"" >> ~/.bashrc
返品https://www.shellcheck.net説明する。
SC2006: Use $(...) notation instead of legacy backticked `...`.
SC2086: Double quote to prevent globbing and word splitting.