john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

For loop count functions ifs split string ip address

su - username -c "/path/to/script.sh"

runs the script as username but then returns to original


!/bin/bash

for i in {1..100} do echo $i done

IP='1.2.3.4' ary=(${IP//./ }) LENGTH=${#ary[*]} echo "$IP has $LENGTH elements"

for ((i=1; i < ${#ary[@]}; i++)) do echo ${ary[$i]} done

DOMAIN=() COUNTER=0

skip the first item and skip 9's

for ((i=1; i < ${#ary[@]}; i++)) do temp=${ary[$i]} if ! [ $temp == "9" ]; then echo $temp DOMAIN[$COUNTER]=$temp COUNTER=expr $COUNTER + 1 fi done

join

SAVE_IFS=$IFS IFS="." FOOJOIN="${DOMAIN[*]}" IFS=$SAVE_IFS

echo $FOOJOIN


!/bin/bash

TIMESTAMP=/bin/date +%Y-%m-%d--%H-%M

for i in {1..200} do cp /home/ubuntu/application/TEST/original.txt /application/Local-SGW-Test/John/$TIMESTAMP-$i.txt done

/home/ubuntu/application/applicationcmd --savechanges -n /Local-SGW-Test/John -r 0


!/bin/bash

create content, login, refresh, copy content, upload the content

TIMESTAMP=/bin/date +%Y-%m-%d--%H-%M CONTENT="0123456789"

function createContent() { for i in {1..100} do echo $CONTENT > /home/ubuntu/application/TEST/original.txt done }

function copyContent() { for i in {1..60} do cp /home/ubuntu/application/TEST/original.txt /application/Local-SGW-Test/John/$TIMESTAMP-$i.txt done

/home/ubuntu/application/applicationcmd --savechanges -n /Local-SGW-Test/John -r 0 }

function applicationlogin() { /home/ubuntu/application/applicationcmd --login < /home/ubuntu/application/login.txt }

function applicationrefresh() { /home/ubuntu/application/applicationcmd --refreshsub && /home/ubuntu/application/applicationcmd --refreshspace -n "/Local-SGW-Test" -r 0 }

main - - - - - - - - - - - - - - - - - - - - - - - - - - -

createContent && echo "content created" && applicationlogin && applicationrefresh && copyContent

exit 0


!/bin/bash

ADDRESS='1.200.30.4' ARRAY=$(echo $ADDRESS | tr "." "\n") for x in $ARRAY do echo "$x" done

echo "adding 5" ARRAY[4]='5' echo ${ARRAY[*]}

LENGTH=${#ARRAY[*]} echo "length= $LENGTH because the first parsing by tr replaces . with newline"

echo "removing 5" unset ARRAY[4] echo ${ARRAY[*]}

ary=(${ADDRESS//./ })
echo "${ary[0]} ; ${ary[1]} ; ${ary[2]} ; ${ary[3]}"

OIFS=$IFS
IFS='.' DIGITS=($ADDRESS) IFS=$OIFS echo ${DIGITS[0]} echo ${DIGITS[1]} echo ${DIGITS[2]} echo ${DIGITS[3]}

echo "this doesn't work right, huh" while IFS=. read -r var; do echo "$var" done <<< "$ADDRESS"

eval $(echo "$IP" | awk '{print "IP1="$1";IP2="$2";IP3="$3";IP4="$4}' FS=.); echo $IP4

echo 1.2.3.4 | cut -d. -f4


  • « Rm replacement trash cli
  • javascript scope »

Published

Oct 1, 2013

Category

linux

~252 words

Tags

  • address 7
  • count 6
  • for 18
  • functions 7
  • ifs 1
  • ip 8
  • loop 9
  • scripts 63
  • split 5
  • string 18