Linux Commands Usage - hqzhang/cloudtestbed GitHub Wiki

#!/bin/bash
#debug
set -x
echo search file
find -name "file"

echo set default value
myname="${1:-hongqi}"
echo "$myname"

echo search key in file
find . -type f | xargs grep -sinw --color "key"

echo copy file remotely
scp  -r [email protected]:~/file  .

echo exec command remotely
ssh [email protected] ls

var=abcdefghijklmn
echo len ${#var}
echo filter ${var:3:5}  #keep 3-5
echo remove ${var##a*g}   #remove all from front
echo remove ${var#a*g}   #remove one from front
echo remove ${var%g*n}   #remove from back
echo replace ${var/abc/xyz}   #replacement all
echo replace ${var/#abc/ust} #replace from front

#replacement
echo "192.168.56.101"|sed 's/101/245/'
msg=`echo '{"reportType" : ""}' | jq -c --arg reportType "mysetval" '.["reportType"]=$reportType ' `
echo $msg
#exit
#get a value
echo "192.168.56.101"|cut -d'.' -f 4
echo "ab cd ef gh"|awk '{print $3}'
echo '{"key":"value"}' |jq -r ".key"
#get a value whole line
echo "192.168.56.101"|grep "56"
#search in json
echo "{"name":"John","age":46}"| jq '.name'

#function
function foo {
   echo enter foo
}
foo  
#for loop
var="abc cde ghf"
for i in $var; do
            echo item: $i
        done
for i in `seq 1 3`;
    do
       echo $i
    done    
#if condition
var="foo"
if [ "$var" = "foo" ]; then
    echo expression evaluated as true
fi
#input Name
echo Please, enter your name
read NAME
echo "Hi $NAME!" 

#operation
a=1
b=2
c=$(($a+$b))