przeróbka skryptu bash na bat

0

Witam, potrzebuje przerobić oraz uprościć skrypt shell, tak żeby działał w Windowsie...

Ma on robić następującą rzecz;

  1. po odpaleniu użytkownik podaje 4 cyfrowy numer
  2. na bazie tego numeru skrypt ma ustawić IP komputera, zakładając że zmieniają się tylko dwa środkowe oktety

Np. 5.a.b.103 zmiana się tylko a oraz b w zależności od numeru sklepu

O ile jestem w stanie napisać coś takiego jako skrypt bat to jakoś nie kapuje jak to działa w bashu, jak by ktoś wytłumaczył mi skąd są brane te oktety to chyba bym dał radę.

Kod oryginalny poniżej;

#!/bin/bash
SKLEPSERVICE=/root/sklepService
DISTRO=$([[ -f /etc/distro ]] && cat /etc/distro || echo "NPSP")
IM="`myfullname`" # <-ten skrypt (cala scizka)
BASEIM="`mybasename`" # <-sama nazwa skryptu
LF="${IM}.log" # <-logfile
SZER=`tput cols`; SZER=`expr ${SZER} - 9`
POSTEP="postep -p 20 -c - -w ${SZER}"
diatmp="`mktemp`"

. $SKLEPSERVICE/modules/stdlib

usage() {
	echo -e "
	${k_msg}`mybasename`${k0} - skrypt konfigurujacy karty sieciowe dla sklepow 
	Wywolanie:
	`mybasename` [--version|-v] [--help|-h]
	gdzie
	--version|-v\t- informacja o wersji (ze zmiennej \"version\"),
	--help|-h\t- ta pomoc.
	"
}

#------------------Pobieranie numery sklepu----------------------
case $1 in
      --help|-h)     usage; exit ;;
      --version|-v)  view_version; exit ;;
esac
diainputc "${BASEIM}" "${cn}Wprowadz numer sklepu np:0001:" 2>"${diatmp}"
if [ $? != 0 ] ; then
	write_log "Program zamkniety na zyczenie uzytkownika."
	finish 250
fi
NR=$(2<${diatmp})
while ! [[ "$NR" =~ ^[0-9][0-9][0-9][0-9]$ ]]; do
	echoErr "Numer sklepu musi sie skladac z dokladnie czterech cyfr!"
	sleep 5
	diainputc "${BASEIM}" "${cn}Wprowadz numer sklepu np:0001:" 2>"${diatmp}"
	if [ $? != 0 ] ; then
		write_log "Program zamkniety na zyczenie uzytkownika."
		finish 250
	fi
	NR=$(2<${diatmp})
done

SHOP_NO="$NR"

SHOP_TYPE="sklep"
case ${SHOP_NO:0:1} in
	0|1|2|3)SHOP_TYPE="typ1";;
	7)SHOP_TYPE="typ2";;
	8)SHOP_TYPE="typ3";;
	*)error 3 "Nieobslugiwany rodzaj sklepu!";;
esac

set_network $SHOP_NO

write_log "Finishing script!"

echo -e "\033[1;32m"
echo -e "\n\t**Koncze dzialanie**"
echo -e "\033[0m"
0

Raczej niemożliwe będzie przerobienie tego skryptu bez treści pliku /root/sklepService/modules/stdlib. Wydaje mi się też, że "przerobienie" nie będzie absolutnie możliwe. Musisz zrozumieć jak działa ten skrypt i napisać nowy już w Batchu. Ewentualnie możesz spróbować przerobić go na PowerShell.

1 użytkowników online, w tym zalogowanych: 0, gości: 1