shell脚本上

把标准输出和错误输出都写入到一个文件里。

例如:ls /abc / 1>file.txt 2>1,abc这个路径是不存在的,代表错误输出,
	 结果file.txt文件里只有标准输出,因为标准输出把错误输出给覆盖了。

	 所以,就要用到&把他们连接起来,ls /abc / 1>file.txt 2>&1,
	 这样,标准输出和错误输出都在file.txt文件里了

	 输入的标志:<         
	 输出的标志:>

输出重定向:

>:ls /tmp 1>aaa   把标准输出覆盖aaa文件中的内容
>>:ls /tmp  1>>aaa   把标准输出追加到aaa文件中

输入重定向:<:

<<:read aaa<<AABB,执行该命令后,就会进入
编辑模式,用来给变量aaa赋值,当写入AABB时停止赋值;
<<<:read aa<<<"xxxx"---------->这个命令代表把"xxx"赋值给本地变量aa

	   变量:本地:name=god
       局部:local---只能用于函数
       环境:export
       特殊:$#:位置参数个数
                  $*:参数列表,双引号引用为一个字符串
                  $@:参数列表,双引号引用为单独的字符串
                  $$:当前shell的PID:接收者
                  $BASHPID:真实
                  $?:上一个命令退出状态    0:成功      other:失败
        位置:$n 向脚本中传递参数,$1代表第一个参数

  	  当我们编写一个输出功能的脚本时,我们可以选择参数的输出位置,
  	  例如:echo $2    echo $12...,但是$12只能显示第1个参数加2,
 	  所以,我们就需要通过{}来限制命令的界限:echo ${12}

算术表达式:

let  算术运算表达式

let  C=$A+$B

$[算术表达式]

C =$[$A+$B]

$((算术表达式))

C=$(($A+$B))

条件表达式:

[  expression  ]

test expression

[[ expression ]]

流程控制:if、for、while、case

for:
	①for i in 1 2 3 4 5 
        do

             echo $i

        done

    ②for i in  `seq 100`----->相当于1~100的队列

        do

             echo $i

        done

     ③for((i=1;i<=9;i++))
         do

             echo $i

          done

     ④for((i=1;i<=9;i++))---->用for的嵌套循环实现99乘法表
        do
             for((j=1;j<=i;j++))
        do
             echo -n "$i*$j=$[i*j]   "
        done
             echo "  "
        done

 if:
   if [ 2 -gt 2 ]
   then
          echo "ok"
   elif [ 3 -lt 2 ]
   then
           echo "error"
    else
           echo "hello world"
    fi

case:  
		case $num in 
              1) echo '你选择了1' ;;
              2) echo '你选择了2' ;;
              3) echo '你选择了3' ;;
              4) echo '你选择了4' ;;
              *)  echo "输入有误" ;;

          esac

while:
		①while   :---->死循环

           do

                 echo  " "

           done

        ②while  [ $flag -gt 0 ]

           do

                 echo  " "

           done

运行shell脚本的三种方式:

source    脚本名
bash      脚本名
./        脚本名

生成start,end范围内的随机数:

echo $((RANDOM % ($end - $start) + $start))

用hello Linux 覆盖file.txt文件中的内容-----》echo "hello Linux">file.txt

进程树

pstree          

目录树

tree
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值