![シェルスクリプトを使用してexeを実行するには? [閉鎖]](https://linux33.com/image/146842/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6exe%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
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.