我有一个 exe,它需要 2 个 .csv 文件作为输入。如下:
cSplittinglines.exe srcdir\file.csv destdir\file.csv
如何使用 shell 脚本执行此 .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
SC2006: Use $(...) notation instead of legacy backticked `...`.
SC2086: Double quote to prevent globbing and word splitting.