#1762 update balance script and move channels & fwd report (#1780)

This commit is contained in:
Christian Rotzoll 2020-11-17 21:17:35 +01:00 committed by rootzoll
parent 619081b520
commit 85e6c7b414
8 changed files with 187 additions and 201 deletions

View File

@ -261,22 +261,21 @@ case $CHOICE in
lnbalance)
clear
echo "*** YOUR SATOSHI BALANCES ***"
lnbalance ${network}
/home/admin/config.scripts/lnd.balance.sh ${network}
echo "Press ENTER to return to main menu."
read key
;;
lnchannels)
clear
echo "*** YOUR LIGHTNING CHANNELS ***"
lnchannels ${network}
/home/admin/config.scripts/lnd.channels.sh ${network}
echo "Press ENTER to return to main menu."
read key
;;
lnfwdreport)
./XXlnfwdreport.sh
/home/admin/config.scripts/lnd.fwdreport.sh -menu
echo "Press ENTER to return to main menu."
read key
./00mainMenu.sh
;;
CONNECT)
/home/admin/BBconnectPeer.sh

View File

@ -1,15 +1,3 @@
echo ""
echo "*** Adding: raspibolt_67_additional-scripts.md"
echo "Creating the command lnbalance as well as lnchannels which will give you a nicer output"
cd
cd /home/admin/assets
chmod +x lnbalance.sh
chmod +x lnchannels.sh
chmod +x lnfwdreport.sh
sudo cp lnbalance.sh /usr/local/bin/lnbalance
sudo cp lnchannels.sh /usr/local/bin/lnchannels
sudo cp lnfwdreport.sh /usr/local/bin/lnfwdreport
echo "OK"
mkdir /home/admin/tmpScriptDL
cd /home/admin/tmpScriptDL

View File

@ -1,38 +0,0 @@
#!/bin/bash
_temp="./download/dialog.$$"
_error="./.error.out"
# load raspiblitz config data (with backup from old config)
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
if [ ${#network} -eq 0 ]; then network=`cat .network`; fi
if [ ${#network} -eq 0 ]; then network="bitcoin"; fi
if [ ${#chain} -eq 0 ]; then
echo "gathering chain info ... please wait"
chain=$(${network}-cli getblockchaininfo | jq -r '.chain')
fi
# let user enter a <pubkey>@host
l1="Enter the number of days to query:"
l2="e.g. '7' will query the last 7 days"
dialog --title "Create a forwarding event report" \
--backtitle "Lightning ( ${network} | ${chain} )" \
--inputbox "$l1\n$l2" 10 60 7 2>$_temp
_input=$(cat $_temp | xargs )
shred -u $_temp
if [ ${#_input} -eq 0 ]; then
exit 1
fi
# build command
command="lnfwdreport -n ${chain}net -c ${network} -- ${_input}"
clear
echo "Generating report..."
# execute command
result=$($command 2>$_error)
echo ""
echo ""
echo "$result"
echo ""

View File

@ -117,6 +117,26 @@ function status() {
sudo -u pi /home/admin/00infoLCD.sh --pause 0
}
# command: lnbalance
# show balance report
function balance() {
echo "*** YOUR SATOSHI BALANCES ***"
/home/admin/config.scripts/lnd.balance.sh
}
# command: lnchannels
# show channel listing
function channels() {
echo "*** YOUR LIGHTNING CHANNELS ***"
/home/admin/config.scripts/lnd.channels.sh
}
# command: lnfwdreport
# show forwarding report
function fwdreport() {
/home/admin/config.scripts/lnd.fwdreport.sh -menu
}
# command: bos
# switch to the bos user for Balance of Satoshis
function bos() {

View File

@ -1,147 +0,0 @@
#!/bin/bash
# SOURCE: https://github.com/gcomte/ln-gems/blob/master/showTotalLightningBalance.sh
# LATEST COMMIT: a2ea316f1962f26921a95922d5fe95f430b6120f
##############################################################################
# COLORING
##############################################################################
YELLOW=`tput setaf 3`
RESET=`tput sgr0`
GREEN=`tput setaf 2`
RED=`tput setaf 1`
##############################################################################
# CALCULATIONS
##############################################################################
LN_REMOTE_BALANCE=$(lncli listchannels | jq -r '.[][].remote_balance' | awk '{s+=$1} END {print s}')
LN_LOCAL_BALANCE=$(lncli listchannels | jq -r '.[][].local_balance' | awk '{s+=$1} END {print s}')
LN_TOTAL_BALANCE=$((LN_REMOTE_BALANCE + LN_LOCAL_BALANCE))
LN_COMMIT_FEES=$(lncli listchannels | jq -r '.[][] | select(.initiator==true) | .commit_fee' | awk '{s+=$1} END {print s}')
LN_INVOICES=$(lncli listinvoices | jq -r '.invoices[] | select(.settled==true) | .value' | awk '{s+=$1} END {print s}')
LN_PAYMENTS=$(lncli listpayments | jq -r '.payments[] | select(.status=="SUCCEEDED") | .value' | awk '{s+=$1} END {print s}')
LN_PAYMENTS_FEES=$(lncli listpayments | jq -r '.payments[] | select(.status=="SUCCEEDED") | .fee' | awk '{s+=$1} END {print s}')
LN_EARNED_FEES_IN_MSATS=$(lncli fwdinghistory 0 | jq -r '.forwarding_events[] | .fee_msat' | awk '{s+=$1} END {print s}')
LN_EARNED_FEES_IN_SATS=$((LN_EARNED_FEES_IN_MSATS / 1000))
ONCHAIN_FUNDS_CONFIRMED=$(lncli walletbalance | jq -r '.confirmed_balance')
ONCHAIN_FUNDS_UNCONFIRMED=$(lncli walletbalance | jq -r '.unconfirmed_balance')
ONCHAIN_FUNDS_TOTAL=$(lncli walletbalance | jq -r '.total_balance')
ONCHAIN_FUNDS_CONFIRMED_BTC=$(printf %.3f\\n "$((ONCHAIN_FUNDS_CONFIRMED))e-8")
ONCHAIN_FUNDS_UNCONFIRMED_BTC=$(printf %.3f\\n "$((ONCHAIN_FUNDS_UNCONFIRMED))e-8")
ONCHAIN_FUNDS_TOTAL_BTC=$(printf %.3f\\n "$((ONCHAIN_FUNDS_TOTAL))e-8")
ONCHAIN_TX=$(lncli listchaintxns | jq -r '.transactions[] | .amount' | awk '{s+=$1} END {print s}')
ONCHAIN_TX_FEES=$(lncli listchaintxns | jq -r '.transactions[] | .total_fees' | awk '{s+=$1} END {print s}')
LN_LOCAL_BALANCE_PERCENTAGE=$((100 * LN_LOCAL_BALANCE / LN_TOTAL_BALANCE))
LN_REMOTE_BALANCE_PERCENTAGE=$((100 * LN_REMOTE_BALANCE / LN_TOTAL_BALANCE))
TOTAL_BALANCE_PERCENTAGE=100
ONCHAIN_FUNDS_CONFIRMED_PERCENTAGE=$((100 * ONCHAIN_FUNDS_CONFIRMED / ONCHAIN_FUNDS_TOTAL))
ONCHAIN_FUNDS_UNCONFIRMED_PERCENTAGE=$((100 * ONCHAIN_FUNDS_UNCONFIRMED / ONCHAIN_FUNDS_TOTAL))
TOTAL_BALANCE=$((ONCHAIN_FUNDS_TOTAL + LN_LOCAL_BALANCE))
CONTROL_SUM=$((\
ONCHAIN_FUNDS_CONFIRMED\
+ ONCHAIN_FUNDS_UNCONFIRMED\
+ ONCHAIN_TX_FEES
+ LN_LOCAL_BALANCE\
+ LN_COMMIT_FEES\
- LN_INVOICES\
+ LN_PAYMENTS\
+ LN_PAYMENTS_FEES
- LN_EARNED_FEES_IN_SATS
))
PROFIT_AND_LOSS=$((LN_EARNED_FEES_IN_SATS - ONCHAIN_TX_FEES))
LN_SPEND=$((LN_PAYMENTS + LN_PAYMENTS_FEES))
##############################################################################
# Sats to BTC
##############################################################################
TOTAL_BALANCE_BTC=$(printf %.3f\\n "$(($TOTAL_BALANCE))e-8")
LN_LOCAL_BALANCE_BTC=$(printf %.3f\\n "$(($LN_LOCAL_BALANCE))e-8")
LN_REMOTE_BALANCE_BTC=$(printf %.3f\\n "$(($LN_REMOTE_BALANCE))e-8")
LN_TOTAL_BALANCE_BTC=$(printf %.3f\\n "$(($LN_TOTAL_BALANCE))e-8")
LN_INVOICES_BTC=$(printf %.3f\\n "$(($LN_INVOICES))e-8")
LN_COMMIT_FEES_BTC=$(printf %.3f\\n "$(($LN_COMMIT_FEES))e-8")
LN_PAYMENTS_BTC=$(printf %.3f\\n "$(($LN_PAYMENTS))e-8")
LN_PAYMENTS_FEES_BTC=$(printf %.3f\\n "$(($LN_PAYMENTS_FEES))e-8")
##############################################################################
# PRINT
##############################################################################
# turn '0 sats' into '0.000 sats' to keep table nicely formatted
if [ $LN_LOCAL_BALANCE -eq 0 ]; then
LN_LOCAL_BALANCE="0.000"
fi
if [ $LN_REMOTE_BALANCE -eq 0 ]; then
LN_REMOTE_BALANCE="0.000"
fi
if [ $LN_COMMIT_FEES -eq 0 ]; then
LN_COMMIT_FEES="0.000"
fi
if [ $LN_INVOICES -eq 0 ]; then
LN_INVOICES="0.000"
fi
if [ $LN_PAYMENTS -eq 0 ]; then
LN_PAYMENTS="0.000"
fi
if [ $LN_PAYMENTS_FEES -eq 0 ]; then
LN_PAYMENTS_FEES="0.000"
fi
if [ $ONCHAIN_FUNDS_CONFIRMED -eq 0 ]; then
ONCHAIN_FUNDS_CONFIRMED="0.000"
fi
if [ $ONCHAIN_FUNDS_UNCONFIRMED -eq 0 ]; then
ONCHAIN_FUNDS_UNCONFIRMED="0.000"
fi
echo -e "\n${YELLOW}LN BALANCE${RESET}"
echo -e "LOCAL\t\tREMOTE\t\tTOTAL"
echo -e "--------------\t---------------\t---------------"
echo -e "$LN_LOCAL_BALANCE sats\t$LN_REMOTE_BALANCE sats\t$LN_TOTAL_BALANCE sats"
echo -e "$LN_LOCAL_BALANCE_BTC BTC\t$LN_REMOTE_BALANCE_BTC BTC\t$LN_TOTAL_BALANCE_BTC BTC"
echo -e "$LN_LOCAL_BALANCE_PERCENTAGE%\t\t$LN_REMOTE_BALANCE_PERCENTAGE%\t\t$TOTAL_BALANCE_PERCENTAGE%"
echo -e "\n${YELLOW}ON-CHAIN BALANCE${RESET}"
echo -e "CONFIRMED\tUNCONFIRMED\tTOTAL"
echo -e "--------------\t---------------\t---------------"
echo -e "$ONCHAIN_FUNDS_CONFIRMED sats\t$ONCHAIN_FUNDS_UNCONFIRMED sats\t$ONCHAIN_FUNDS_TOTAL sats"
echo -e "$ONCHAIN_FUNDS_CONFIRMED_BTC BTC\t$ONCHAIN_FUNDS_UNCONFIRMED_BTC BTC\t$ONCHAIN_FUNDS_TOTAL_BTC BTC"
echo -e "$ONCHAIN_FUNDS_CONFIRMED_PERCENTAGE%\t\t$ONCHAIN_FUNDS_UNCONFIRMED_PERCENTAGE%\t\t$TOTAL_BALANCE_PERCENTAGE%"
echo -e "\n${YELLOW}OWNED BALANCE [LN + ON-CHAIN]${RESET}"
echo -e "$TOTAL_BALANCE sats | $TOTAL_BALANCE_BTC BTC\n"
echo -e "---------------------------------------------"
echo -e "ON-CHAIN CONFIRMED $(printf %10s $ONCHAIN_FUNDS_CONFIRMED) sats"
echo -e "ON-CHAIN UNCONFIRMED $(printf %10s $ONCHAIN_FUNDS_UNCONFIRMED) sats"
echo -e "ON-CHAIN FEES ${RED}$(printf %10s "-$ONCHAIN_TX_FEES")${RESET} sats"
echo -e "---------------------------------------------"
echo -e "LN LOCAL BALANCE $(printf %10s $LN_LOCAL_BALANCE) sats"
echo -e "LN LOCKED IN COMMIT FEES $(printf %10s $LN_COMMIT_FEES) sats"
echo -e "LN INVOICES (RECEIVED) $(printf %10s $LN_INVOICES) sats"
echo -e "LN PAYMENTS (PAID) $(printf %10s "-$LN_PAYMENTS") sats"
echo -e "LN PAYMENTS FEES $(printf %10s "-$LN_PAYMENTS_FEES") sats"
echo -e "LN EARNED (FORWARD) FEES ${GREEN}$(printf %10s $LN_EARNED_FEES_IN_SATS)${RESET} sats"
echo -e "---------------------------------------------"
if [ $PROFIT_AND_LOSS -gt 0 ]; then
COLORED_PNL=${GREEN}$(printf %10s "$PROFIT_AND_LOSS")${RESET}
else
COLORED_PNL=${RED}$(printf %10s "$PROFIT_AND_LOSS")${RESET}
fi
echo -e "${YELLOW}PROFIT AND LOSS${RESET} $COLORED_PNL sats"
echo -e "---------------------------------------------"
echo -e "CONTROL SUM $(printf %10s $CONTROL_SUM) sats"
echo -e "LN SPEND $(printf %10s $LN_SPEND) sats"
echo -e ""

View File

@ -0,0 +1,132 @@
#!/bin/bash
# SOURCE: https://github.com/gcomte/ln-gems/blob/master/showTotalLightningBalance.sh
# LATEST COMMIT: 14a5ec6fca020be9fc0951eb78ac727ecb1be247
##############################################################################
# COLORING
##############################################################################
YELLOW=`tput setaf 3`
CYAN=`tput setaf 6`
GREEN=`tput setaf 2`
RED=`tput setaf 1`
RESET=`tput sgr0`
##############################################################################
# CALCULATIONS
##############################################################################
LN_REMOTE_BALANCE=$(lncli listchannels | jq -r '.[][].remote_balance' | awk '{s+=$1} END {print s}')
LN_LOCAL_BALANCE=$(lncli listchannels | jq -r '.[][].local_balance' | awk '{s+=$1} END {print s}')
LN_TOTAL_BALANCE=$((LN_REMOTE_BALANCE + LN_LOCAL_BALANCE))
LN_COMMIT_FEES=$(lncli listchannels | jq -r '.[][] | select(.initiator==true) | .commit_fee' | awk '{s+=$1} END {print s}')
LN_INVOICES=$(lncli listinvoices | jq -r '.invoices[] | select(.settled==true) | .value' | awk '{s+=$1} END {print s}')
LN_PAYMENTS=$(lncli listpayments | jq -r '.payments[] | select(.status=="SUCCEEDED") | .value' | awk '{s+=$1} END {print s}')
LN_PAYMENTS_FEES=$(lncli listpayments | jq -r '.payments[] | select(.status=="SUCCEEDED") | .fee' | awk '{s+=$1} END {print s}')
LN_EARNED_FEES_IN_MSATS=$(lncli fwdinghistory 0 --max_events -1 | jq -r '.forwarding_events[] | .fee_msat' | awk '{s+=$1} END {print s}')
LN_EARNED_FEES_IN_SATS=$((LN_EARNED_FEES_IN_MSATS / 1000))
ONCHAIN_FUNDS_CONFIRMED=$(lncli walletbalance | jq -r '.confirmed_balance')
ONCHAIN_FUNDS_UNCONFIRMED=$(lncli walletbalance | jq -r '.unconfirmed_balance')
ONCHAIN_FUNDS_TOTAL=$(lncli walletbalance | jq -r '.total_balance')
ONCHAIN_FUNDS_CONFIRMED_BTC=$(printf %.8f\\n "$((ONCHAIN_FUNDS_CONFIRMED))e-8")
ONCHAIN_FUNDS_UNCONFIRMED_BTC=$(printf %.8f\\n "$((ONCHAIN_FUNDS_UNCONFIRMED))e-8")
ONCHAIN_FUNDS_TOTAL_BTC=$(printf %.8f\\n "$((ONCHAIN_FUNDS_TOTAL))e-8")
ONCHAIN_TX_FEES=$(lncli listchaintxns | jq -r '.transactions[] | .total_fees' | awk '{s+=$1} END {print s}')
TOTAL_BALANCE_PERCENTAGE=100
if [ $LN_TOTAL_BALANCE -ne 0 ]; then # prevent division by zero error
LN_LOCAL_BALANCE_PERCENTAGE=$((100 * LN_LOCAL_BALANCE / LN_TOTAL_BALANCE))
LN_REMOTE_BALANCE_PERCENTAGE=$((100 * LN_REMOTE_BALANCE / LN_TOTAL_BALANCE))
fi
if [ $ONCHAIN_FUNDS_TOTAL -ne 0 ]; then # prevent division by zero error
ONCHAIN_FUNDS_CONFIRMED_PERCENTAGE=$((100 * ONCHAIN_FUNDS_CONFIRMED / ONCHAIN_FUNDS_TOTAL))
ONCHAIN_FUNDS_UNCONFIRMED_PERCENTAGE=$((100 * ONCHAIN_FUNDS_UNCONFIRMED / ONCHAIN_FUNDS_TOTAL))
fi
TOTAL_BALANCE=$((ONCHAIN_FUNDS_TOTAL + LN_LOCAL_BALANCE))
CONTROL_SUM=$((\
ONCHAIN_FUNDS_TOTAL \
+ ONCHAIN_TX_FEES \
+ LN_LOCAL_BALANCE \
+ LN_COMMIT_FEES \
- LN_INVOICES \
+ LN_PAYMENTS \
+ LN_PAYMENTS_FEES \
- LN_EARNED_FEES_IN_SATS
))
PROFIT_AND_LOSS=$((LN_EARNED_FEES_IN_SATS - ONCHAIN_TX_FEES))
LN_SPEND=$((LN_PAYMENTS + LN_PAYMENTS_FEES))
##############################################################################
# Sats to BTC
##############################################################################
TOTAL_BALANCE_BTC=$(printf %.8f\\n "$((TOTAL_BALANCE))e-8")
LN_LOCAL_BALANCE_BTC=$(printf %.8f\\n "$((LN_LOCAL_BALANCE))e-8")
LN_REMOTE_BALANCE_BTC=$(printf %.8f\\n "$((LN_REMOTE_BALANCE))e-8")
LN_TOTAL_BALANCE_BTC=$(printf %.8f\\n "$((LN_TOTAL_BALANCE))e-8")
##############################################################################
# PRINT
##############################################################################
echo -e "\n${YELLOW}LN BALANCE${RESET}"
echo -e "LOCAL REMOTE TOTAL "
echo -e "---------------- ---------------- ----------------"
echo -e "$(printf %11s "$LN_LOCAL_BALANCE") sats $(printf %11s "$LN_REMOTE_BALANCE") sats $(printf %11s $LN_TOTAL_BALANCE) sats"
if [ $LN_TOTAL_BALANCE -ne 0 ]; then
echo -e "$(printf %11s "$LN_LOCAL_BALANCE_BTC") BTC $(printf %11s "$LN_REMOTE_BALANCE_BTC") BTC $(printf %11s "$LN_TOTAL_BALANCE_BTC") BTC"
echo -e "$(printf %11s $LN_LOCAL_BALANCE_PERCENTAGE) % $(printf %11s $LN_REMOTE_BALANCE_PERCENTAGE) % $(printf %11s $TOTAL_BALANCE_PERCENTAGE) %"
fi
echo -e "\n${YELLOW}ON-CHAIN BALANCE${RESET}"
echo -e "CONFIRMED UNCONFIRMED TOTAL "
echo -e "---------------- ---------------- ----------------"
echo -e "$(printf %11s "$ONCHAIN_FUNDS_CONFIRMED") sats $(printf %11s "$ONCHAIN_FUNDS_UNCONFIRMED") sats $(printf %11s "$ONCHAIN_FUNDS_TOTAL") sats"
if [ $ONCHAIN_FUNDS_TOTAL -ne 0 ]; then
echo -e "$(printf %11s "$ONCHAIN_FUNDS_CONFIRMED_BTC") BTC $(printf %11s "$ONCHAIN_FUNDS_UNCONFIRMED_BTC") BTC $(printf %11s "$ONCHAIN_FUNDS_TOTAL_BTC") BTC"
echo -e "$(printf %11s $ONCHAIN_FUNDS_CONFIRMED_PERCENTAGE) % $(printf %11s $ONCHAIN_FUNDS_UNCONFIRMED_PERCENTAGE) % $(printf %11s $TOTAL_BALANCE_PERCENTAGE) %"
fi
echo -e "\n${YELLOW}OWNED BALANCE [LN + ON-CHAIN]${RESET}"
echo -e "$(printf %11s "$TOTAL_BALANCE") sats"
echo -e "$(printf %11s "$TOTAL_BALANCE_BTC") BTC"
echo -e ""
echo -e "\n${YELLOW}AUDIT${CYAN}*${RESET}"
echo -e "---------------------------------------------"
echo -e "ON-CHAIN CONFIRMED $(printf %10s "$ONCHAIN_FUNDS_CONFIRMED") sats"
echo -e "ON-CHAIN UNCONFIRMED $(printf %10s "$ONCHAIN_FUNDS_UNCONFIRMED") sats"
echo -e "ON-CHAIN FEES ${RED}$(printf %10s "-$ONCHAIN_TX_FEES")${RESET} sats"
echo -e "---------------------------------------------"
echo -e "LN LOCAL BALANCE $(printf %10s "$LN_LOCAL_BALANCE") sats"
echo -e "LN LOCKED IN COMMIT FEES $(printf %10s "$LN_COMMIT_FEES") sats"
echo -e "LN INVOICES (RECEIVED) $(printf %10s "$LN_INVOICES") sats"
echo -e "LN PAYMENTS (PAID) $(printf %10s "-$LN_PAYMENTS") sats"
echo -e "LN PAYMENTS FEES $(printf %10s "-$LN_PAYMENTS_FEES") sats"
echo -e "LN EARNED (FORWARD) FEES ${GREEN}$(printf %10s $LN_EARNED_FEES_IN_SATS)${RESET} sats"
echo -e "---------------------------------------------"
if [ $PROFIT_AND_LOSS -gt 0 ]; then
COLORED_PNL=${GREEN}$(printf %10s "$PROFIT_AND_LOSS")${RESET}
else
COLORED_PNL=${RED}$(printf %10s "$PROFIT_AND_LOSS")${RESET}
fi
echo -e "${YELLOW}PROFIT AND LOSS${RESET} $COLORED_PNL sats"
echo -e "---------------------------------------------"
echo -e "CONTROL SUM${CYAN}**${RESET} $(printf %10s $CONTROL_SUM) sats"
echo -e "LN SPEND $(printf %10s $LN_SPEND) sats"
echo -e ""
echo -e "${CYAN} * Pending channels are ignored.${RESET}"
echo -e "${CYAN}** CONTROL SUM is supposed to match amount"
echo -e " of funds that had been put onto this node"
echo -e " (can be off few sats due rounding).\e${RESET}"
echo -e ""

View File

@ -3,6 +3,38 @@
network=mainnet
chain=bitcoin
if [ "$1" = "-menu" ]; then
_temp="./download/dialog.$$"
_error="./.error.out"
# load raspiblitz config data (with backup from old config)
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
if [ ${#network} -eq 0 ]; then network=`cat .network`; fi
if [ ${#network} -eq 0 ]; then network="bitcoin"; fi
if [ ${#chain} -eq 0 ]; then
echo "gathering chain info ... please wait"
chain=$(${network}-cli getblockchaininfo | jq -r '.chain')
fi
# let user enter a <pubkey>@host
l1="Enter the number of days to query:"
l2="e.g. '7' will query the last 7 days"
dialog --title "Create a forwarding event report" \
--backtitle "Lightning ( ${network} | ${chain} )" \
--inputbox "$l1\n$l2" 10 60 7 2>$_temp
_input=$(cat $_temp | xargs )
shred -u $_temp
if [ ${#_input} -eq 0 ]; then
exit 1
fi
clear
/home/admin/config.scripts/lnd.fwdreport.sh -n ${chain}net -c ${network} -- ${_input}
exit
fi
if [ $# -gt 1 ]; then
while [ -n "$1" ]; do # while loop starts
case "$1" in