一些shell用法

 1、 local spaceLeft=`ssh $PeerUserName@$PeerTransforIP "df -m $PeerPackPath | grep -v 'Filesystem' " | awk -F' ' '{print $4}' ` ;

    ssh $PeerUserName@$PeerIP "statement"     去对端执行statement

    df -m $PeerPackPath            该路径所属分区的大小

    grep -v 'Filesystem'              -v 不包含

    awk -F' ' '{print $4}'            以任意空格数量分隔开,取第四个。  cut是一个,awk是任意个。

2、scp -p ~/.ssh/id_rsa.pub $PeerUserName@$PeerTransforIP:~/.ssh/authorized_keys

    拷贝。

3、read bGoOn;

    界面输入到bGoOn

4、declare -a -r a=( '1' '2' ) ;

    不声明为local就是全局的。

    declare可用可不用

    -a数组

    -r只读

    =前后不能带空格

5、a="AAA_BBB_CCC";

    echo ${a##*_};  从后往前找能够匹配*_的子串,然后输出其余部分,结果:CCC

    echo ${a#*_};    从前往后找能够匹配*_的子串,然后输出其余部分,结果:BBB_CCC

6、local a=`cat f.txt | grep "IP" | cut -d':' -f 2`;

    local 局部变量

    cat f.txt | grep "IP" 从文件中找包含IP的一行

    cut -d':' -f 2  以冒号分隔,取第二个子串。      echo 'IP:192.168.1.1' | cut -d':' -f2   结果为192.168.1.1

7、su - aaa -c "scp -p a.wav $PeerUserName@$PeerTransforIP:/share";

    su - aaa -c "statement";  切换到aaa用户下执行statement

    

8、  case的用法, 选1调Show_Main_Information, 选q或Q清屏退出, 选其他打印Wrong Code .  结束esac

case $iChoose in
   1) Show_Main_Information ;;
   q|Q) clear ; exit 0      ;;
   *) echo "Wrong Code ..." ;;
  esac

    

9、 while的用法,方括号前后要空格。

while [ 1 ]
 do 
#some statement
done

10、if的用法,方括号前后要空格

if [ 0 == $? ] ;
  then JudgeUser   ;
  else return -1;
fi; 

原文地址:https://www.cnblogs.com/aoyihuashao/p/2736810.html