
Eu tenho um exe, que leva 2 arquivos .csv como entrada. Como abaixo:
cSplittinglines.exe srcdir\file.csv destdir\file.csv
Como posso executar este .exe usando um script de shell para que o diretório a partir do qual o script é executado não tenha impacto na localização do exe. também conhecido como evite codificar o caminho do exe. Abaixo está o script no qual estou trabalhando.
#!/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
Responder1
Basta colocar o exe no seu $PATH (é para isso que serve) (%PATH% no Windows)
mv cSplittingLines.exe /bin/
ou
echo "export PATH=\"\$PATH:/path/to/exe\"" >> ~/.bashrc
Tambémhttps://www.shellcheck.netdisse;
SC2006: Use $(...) notation instead of legacy backticked `...`.
SC2086: Double quote to prevent globbing and word splitting.