shell 练习

1. 求两个数的和

#! /bin/bash

read t1
read t2

echo $((t1+t2))

2. 求1~100的和

 #!/bin/bash
   
 ans=0    
 count=100
 while [ $count -gt 0 ]; do     
  ans=$((count+ans))
  count=$(( count-1 ))
 done     
           
 echo $ans                                                                   

3. 将一目录下所有的文件的扩展名改为bak

#!/bin/bash
       
POS=/home/huangqingxiang/q/
       
for i in $(ls $POS); do
    echo $i
    mv $i $i.bak
  done          
// 上面这个的工作目录必须和指定目录相等

 #!/bin/bash

 POS=/home/huangqingxiang/q/

 cd $POS
 for i in $(ls $POS);
 do
  echo $i
 mv $i $i.bak
 done

// 下面这个的工作目录可以和指定目录不相等

4.  编译当前目录下的所有.c文件   编译后 .c 后缀将去掉

 #!i/bin/bash                         
                                       
  for NAME in $(ls *.c) ;              
  do                                   
      echo $NAME                       
      gcc $NAME -o -pthread  ${NAME%.c}                                                                                                                                                                  
   done                                 

5. 打印root可以使用可执行文件数,处理结果: root's bins: 2306

echo "root's bins: $(find ./ -type f | xargs ls -l | sed '/-..x/p' | wc -l)"

p是打印的功能,之所以没有打印是因为管道的原因?是的

6.打印当前sshd的端口和进程id,处理结果: sshd Port&&pid: 22 5412

 

posted @ 2019-08-20 09:50  Let_Life_Stop  阅读(198)  评论(0编辑  收藏  举报