免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1460 | 回复: 9
打印 上一主题 下一主题

[文本处理] 脚本执行错误,求高手指教,亲,我在等你哦 [复制链接]

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-22 19:43 |只看该作者 |倒序浏览
本帖最后由 qimuzhi 于 2016-06-22 20:45 编辑

script:
  1. ligf@hot ~/rom/mi5/backup $ cat ufs-backup.sh
  2. #!/bin/bash -
  3. #===============================================================================
  4. #
  5. #          FILE: ufs-backup.sh
  6. #
  7. #         USAGE: ./ufs-backup.sh
  8. #
  9. #   DESCRIPTION:
  10. #
  11. #       OPTIONS: ---
  12. #  REQUIREMENTS: ---
  13. #          BUGS: ---
  14. #         NOTES: ---
  15. #        AUTHOR: YOUR NAME (),
  16. #  ORGANIZATION:
  17. #       CREATED: 2016年06月22日 19:23
  18. #      REVISION:  ---
  19. #===============================================================================

  20. ##first you should get the sgdisk

  21. PARTITON_NAMES=(
  22. sda
  23. sdb
  24. sdc
  25. sde
  26. sdf
  27. )


  28. CMD="/data/sgdisk -p /dev/block/bootdevice/"

  29. for i in ${PARTITON_NAMES[@]}
  30. do
  31.         eval adb shell "${CMD}${i}"
  32. done


  33. ligf@hot ~/rom/mi5/backup $
复制代码
执行结果:
  1. ligf@hot ~/rom/mi5/backup $ bash -x ufs-backup.sh
  2. + PARTITON_NAMES=(sda sdb sdc sde sdf)
  3. + CMD='/data/sgdisk -p /dev/block/bootdevice/'
  4. + for i in '${PARTITON_NAMES[@]}'
  5. + eval adb shell '/data/sgdisk -p /dev/block/bootdevice/sda'
  6. ++ adb shell /data/sgdisk -p /dev/block/bootdevice/sda
  7. ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
  8. + for i in '${PARTITON_NAMES[@]}'
  9. + eval adb shell '/data/sgdisk -p /dev/block/bootdevice/sdb'
  10. ++ adb shell /data/sgdisk -p /dev/block/bootdevice/sdb
  11. ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
  12. + for i in '${PARTITON_NAMES[@]}'
  13. + eval adb shell '/data/sgdisk -p /dev/block/bootdevice/sdc'
  14. ++ adb shell /data/sgdisk -p /dev/block/bootdevice/sdc
  15. ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
  16. + for i in '${PARTITON_NAMES[@]}'
  17. + eval adb shell '/data/sgdisk -p /dev/block/bootdevice/sde'
  18. ++ adb shell /data/sgdisk -p /dev/block/bootdevice/sde
  19. ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
  20. + for i in '${PARTITON_NAMES[@]}'
  21. + eval adb shell '/data/sgdisk -p /dev/block/bootdevice/sdf'
  22. ++ adb shell /data/sgdisk -p /dev/block/bootdevice/sdf
  23. ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory

复制代码
  1. ligf@hot ~/rom/mi5/backup $ adb shell /data/sgdisk -p /dev/block/bootdevice/sda
  2. Disk /dev/block/bootdevice/sda: 14448640 sectors, 55.1 GiB
  3. Logical sector size: 4096 bytes
  4. Disk identifier (GUID): 98101B32-BBE2-4BF2-A06E-2BB33D000C20
  5. Partition table holds up to 16 entries
  6. First usable sector is 6, last usable sector is 14448634
  7. Partitions will be aligned on 2-sector boundaries
  8. Total free space is 0 sectors (0 bytes)

  9. Number  Start (sector)    End (sector)  Size       Code  Name
  10.    1               6               9   16.0 KiB    FFFF  ssd
  11.    2              10              11   8.0 KiB     8300  switch
  12.    3              12             191   720.0 KiB   8300  bk1
  13.    4             192             223   128.0 KiB   FFFF  devcfg
  14.    5             224             255   128.0 KiB   FFFF  devcfgbak
  15.    6             256             383   512.0 KiB   FFFF  keystore
  16.    7             384             511   512.0 KiB   FFFF  frp
  17.    8             512            1023   2.0 MiB     8300  bk2
  18.    9            1024            2047   4.0 MiB     FFFF  misc
  19.   10            2048            4095   8.0 MiB     8300  bk3
  20.   11            4096            8191   16.0 MiB    FFFF  oops
  21.   12            8192           16383   32.0 MiB    FFFF  persist
  22.   13           16384           81919   256.0 MiB   FFFF  cache
  23.   14           81920        14448634   54.8 GiB    FFFF  userdata
  24. ligf@hot ~/rom/mi5/backup $ fg
  25. [1]  + 3248 continued  vi ufs-backup.sh

  26. [1]  + 3248 suspended  vi ufs-backup.sh
  27. ligf@hot ~/rom/mi5/backup $
复制代码
请问,为什么我手动执行,没有问题,但是在脚本里面执行就错误


经过实验,我发现,如下的方法是可以:用source 就可以
谁能帮我解释解释为什么?
  1. ligf@hot ~/rom/mi5/backup $ source ufs-backup.sh
  2. Disk /dev/block/bootdevice/sda: 14448640 sectors, 55.1 GiB
  3. Logical sector size: 4096 bytes
  4. Disk identifier (GUID): 98101B32-BBE2-4BF2-A06E-2BB33D000C20
  5. Partition table holds up to 16 entries
  6. First usable sector is 6, last usable sector is 14448634
  7. Partitions will be aligned on 2-sector boundaries
  8. Total free space is 0 sectors (0 bytes)

  9. Number  Start (sector)    End (sector)  Size       Code  Name
  10.    1               6               9   16.0 KiB    FFFF  ssd
  11.    2              10              11   8.0 KiB     8300  switch
  12.    3              12             191   720.0 KiB   8300  bk1
  13.    4             192             223   128.0 KiB   FFFF  devcfg
  14.    5             224             255   128.0 KiB   FFFF  devcfgbak
  15.    6             256             383   512.0 KiB   FFFF  keystore
  16.    7             384             511   512.0 KiB   FFFF  frp
  17.    8             512            1023   2.0 MiB     8300  bk2
  18.    9            1024            2047   4.0 MiB     FFFF  misc
  19.   10            2048            4095   8.0 MiB     8300  bk3
  20.   11            4096            8191   16.0 MiB    FFFF  oops
  21.   12            8192           16383   32.0 MiB    FFFF  persist
  22.   13           16384           81919   256.0 MiB   FFFF  cache
  23.   14           81920        14448634   54.8 GiB    FFFF  userdata
  24. Disk /dev/block/bootdevice/sdb: 1024 sectors, 4.0 MiB
复制代码

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
2 [报告]
发表于 2016-06-22 19:50 |只看该作者
#!/bin/bash -

为什么这么写?

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
3 [报告]
发表于 2016-06-22 20:10 |只看该作者
回复 2# liion631818


    脚本生成的,
    我尝试,把他去掉也不行。

求职 : 技术支持/维
论坛徽章:
0
4 [报告]
发表于 2016-06-22 20:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
5 [报告]
发表于 2016-06-22 20:50 |只看该作者
回复 3# qimuzhi

在脚本里看看PATH是怎样

   

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
6 [报告]
发表于 2016-06-22 20:53 |只看该作者
回复 5# liion631818


    ligf@hot ~/rom/mi5/backup $ ./ufs-backup.sh
-----------sda---------------
./ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
-----------sdb---------------
./ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
-----------sdc---------------
./ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
-----------sde---------------
./ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
-----------sdf---------------
./ufs-backup.sh: line 35: /home/ligf/bin/adb: No such file or directory
/home/ligf/bin:/usr/local/bin:/home/ligf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/t32/bin/pc_linux64:/home/ligf/source/fj/darts/fj-darts-m/LINUX/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
ligf@hot ~/rom/mi5/backup $ cat ufs-backup.sh
#!/bin/bash
#===============================================================================
#
#          FILE: ufs-backup.sh
#
#         USAGE: ./ufs-backup.sh
#
#   DESCRIPTION:
#
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: YOUR NAME (),
#  ORGANIZATION:
#       CREATED: 2016年06月22日 19:23
#      REVISION:  ---
#===============================================================================

##first you should get the sgdisk
function get_partition_desc(){
        PARTITON_NAMES=(
        sda
        sdb
        sdc
        sde
        sdf
        )

        CMD="/data/sgdisk -p /dev/block/bootdevice/"

        for i in ${PARTITON_NAMES[@]}
        do
                echo "-----------${i}---------------"
                adb shell "${CMD}${i}"
        done
}

get_partition_desc |tee -a x
echo $PATH
ligf@hot ~/rom/mi5/backup $

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
7 [报告]
发表于 2016-06-22 20:55 |只看该作者
回复 4# 99超人


    厉害啊

求职 : 技术支持/维
论坛徽章:
0
8 [报告]
发表于 2016-06-22 21:06 来自手机 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
9 [报告]
发表于 2016-06-23 11:28 |只看该作者
回复 6# qimuzhi


     /home/ligf/bin/adb,看看这个目录下有么有这个文件呗

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:51:33
10 [报告]
发表于 2016-06-26 00:00 |只看该作者
回复 9# liion631818


    文件是存在的,您请看,我上面的执行结果
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP