草稿 cfmmyuyu 22.9.27 Linux

发布于:2022-12-05 ⋅ 阅读:(410) ⋅ 点赞:(0)

1.在终端输入一个文件名,判断文件是否为空,如果不为空,判断文件是否是普通文件,如果是普通文件,就判断是否具有写权限,没有写权限,就加上写权限,并在文件最后追加一行“helloworld”

1 #!/bin/bash 
  2 
  3  read $1
  4  #if test -s /home/ubuntu/yuyu/$1 
  5  if [ -s /home/ubuntu/yuyu/$1 ]
  6 
  7  then
  8     echo $1为空 
  9 else
 10     echo $1不是空
 11  #if test -f /home/ubuntu/~/yuyu/$1                               
 12  if   [ -f /home/ubuntu/~/yuyu/$1 ]
 13 
 14  then
 15      echo $1不是普通文件
 16  else
 17      echo $1是普通文件
 18  #if test -w /home/ubuntu/~/yuyu/$1 
 19  if   [ -w /home/ubuntstu/~/yuyu/$1 ]
 20 
 21  then
 22      echo $1有写权限 
 23  else 
 24      echo $1没有写权限 
 25      chmod u+w  /home/ubuntu/~/yuyu/$1
 26      var="helloworld"
 27  echo var >  /home/ubuntu/~/yuyu/$1
 28  fi

6.sh                                                11,2           Top
                                                              

ubuntu@ubuntu:~/yuyu$ source 6.sh
请输入文件名:1.c
普通文件有写权限ubuntu@ubuntu:~/yuyu$ vi 1.c

  1 大天蓬(电影《大天蓬》主题曲)- 李袁杰
  2 
  3 作词:宋雪苍/李袁杰
  4 
  5 作曲:李袁杰
  6 
  7 编曲:刘旭阳
  8                                                                   
  9 经纪人:方国庆
 10 
 11 企划人:王烨扬
 12 
 13 监制:刘凯
 14 
 15 发行人:桑爱
 16  
 17 出品人:桑爱/刘凯 
 18  
 19 电影片方:北京麦堂娱乐传媒有限公司 
 20  
 21 发行方:北京看见文娱文化有限公司 
 22  
 23 出品方:北京看见文娱文化有限公司 
 24  
 25 美人不是凡胎生 
 26  
 27 应是仙器灵长成 
 28  
 29 既然你是神兵
 30 
 31 为何比我更多情
 32 
 33 深深伤的却是你
 34 
 35 六曜五星配红妆
 36                                                                   
 37 此生虽短情意长
 38 
 39 惹得天怒地也恼
 40 
 41 人间再无红颜笑
 42 
 43 留一半相思上大道
 44 
 45 怕什么天道轮回
 46  
 47 什么魄散魂飞
 48 
 49 若没有你那才叫可悲
 50 
 51 怕什么西行无归
 52 
 53 什么事与愿违
 54 
 55 这一世换我护你一对
 56 
 57 六曜五星配红妆
 58 
 59 此生虽短情意长
 60  
 61 惹得天怒地也恼 
 62  
 63 人间再无红颜笑 
 64  
 65 留一半相思上大道 
 66  
 67 怕什么天道轮回
 68 
 69 什么魄散魂飞
 70 
 71 若没有你那才叫可悲
 72 
 73 怕什么西行无归
 74  
 75 什么事与愿违 
 76 
 77 这一世换我护你一对
 78 
 79 怕什么天道轮回
 80 
 81 什么魄散魂飞
 82 
 83 若没有你那才叫可悲
 84 
 85 怕什么西行无归
 86 
 87 什么事与愿违
 88 
 89 这一世换我护你一对
 90 
 91 这一世换我护你一对
 92 hello world
 93 有些权限不用写hello world
         

ubuntu@ubuntu:~/yuyu$ chmod u-w 1.c
ubuntu@ubuntu:~/yuyu$ source 6.sh
请输入文件名:1.c
普通文件无写权限,添加写权限:
ubuntu@ubuntu:~/yuyu$ chmod u+w 1.c
ubuntu@ubuntu:~/yuyu$ source 6.sh
请输入文件名:1.c
普通文件有写权限
ubuntu@ubuntu:~/yuyu$ vi 1.c

  1 #!/bin/bash  
  2  
  3  read -p "请输入文件名:" file 
  4  #文件不为空和是普通文件两个条件同时满足执行第一个语句块 
  5  if [ -s "$file" -a -f "$file" ] 
  6  then 
  7  #判断文件是否有写权限 
  8      if [ -w "$file" ]
  9     then
 10            echo 普通文件有写权限
 11            echo 有些权限不用写hello world >> $file 
 12      else
 13             echo 普通文件无写权限,添加写权限:
 14             chmod u+w $file
 15             echo hello world >> $file
 16         fi
 17     else
 18         echo 2
 19     fi

2.在家目录/home/ubuntu下创建两个目录文件file _dir和dir_dir,如果家目录下有这两个文件夹,就不需要创建,询问用户是否要对目录清空[Y/N],输入一个文件路径,判断这个文件路径是否存在,如果存在,把这个目录下的目录文件复制到dir_dir中,如果是其他文件,复制到file_dir下,统计复制的文件和目录文件的个数,并打印出来

ubuntu@ubuntu:~/yuyu$ source 13.sh
file_dir文件存在
是否清空文件(Y=yes,N=no)
dir_dir文件存在
是否清空文件(Y=yes,N=no)
清空dir_dir文件
rm: cannot remove '/home/ubuntu/dir_dir/*': No such file or directory
请输入目标路径/home/ubuntu/yuyu/1
bash: 13.sh: line 58: syntax error near unexpected token `else'
bash: 13.sh: line 58: `else'
ubuntu@ubuntu:~/yuyu$ ls

1 #!/bin/bash 
  2                                                                   
  3 path1=/home/ubuntu/file_dir
  4 path2=/home/ubuntu/dir_dir
  5 #小判断是否是目录文件
  6 if [ -d "$path1" ]
  7 then
  8 
  9     echo "file_dir文件存在"
 10     read -p "是否清空文件(Y=yes,N=no)" answer
 11     if [ "$answer" = "Y" ]
 12     then
 13 
 14         echo 清空file_dir文件
 15         rm -r  "$path1"/*
16     fi
 17 else
 18 
 19     echo "file_dir文件不存在,创建文件"
 20     mkdir  "$path1"
 21 fi                                                                
 22 if [ -d "$path2" ]
 23 then
 24 
 25     echo "dir_dir文件存在"
 26     read -p "是否清空文件(Y=yes,N=no)" answer
 27     if [ "$answer"="Y" ]
 28     then
 29         echo 清空dir_dir文件
 30         rm -r "$
31     fi
 32 else
 33     echo "dir_dir文件不存在,创建文件"
 34     mkdir "$path2"
 35 fi
 36 #path3=$1 #通过命令行传参
 37 read -p "请输入目标路径" path3 #这个路径一定输入绝对路径
 38 count1=0
 39 count2=0 
 40 if [ -d "$path3" ]
 41 
 42     echo "$path3 存在"
 43     for file in `ls "$path3"`
 44     do
 45         echo $file 
 46         if [ -d "$path3"/"$file" ]
47         then
 48             echo $file是文件夹
 49             cp $path3/$file $path2 -r
 50             ((count1++))
 51         else
 52             echo $file 是其他文件                                 
 53             cp  $path3/$file  $path1
 54             ((count2++))
 55         fi
 56     done
 57     echo   "复制的目录文件有$count1个复制其他文件有 $count2个"
 58 else
 59     echo "$path3"不存在
 60 fi

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到