文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux中如何定义变量脚本

2023-06-09 15:19

关注

这篇文章主要介绍Linux中如何定义变量脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体内容如下

现有两段基本一样的代码,只是变量进行改变,其他都没有变化,但是执行过程中出现了不一样的结果

代码一:

vi back.sh#backup import file,such as /etc/rc.local /var/spool/cron/rootIP=$(ifconfig eth2|sed -nr '2s#.*addr:(.*) B.*#\1#gp')Path=/backupif [ $(date +%w) -eq 0 ]then  Time=$(date +%F-%w -d "-1 day")else  Time=$(date +%F "-1 day")fimkdir $Path/$IP -pcd / &&\tar zcfh $Path/$IP/backup_$Time.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs &&\md5sum $Path/$IP/backup_$Time.tar.gz >$Path/$IP/flag_$Time.log &&\rsync -azv $Path/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsyncd.password &&\find $Path/ -type f \( -name "*.log" -o -name "*.tar.gz" \) -mtime +7 |xargs rm –f"back.sh" 15L, 628C written

代码二:

vi back.sh#backup import file,such as /etc/rc.local /var/spool/cron/rootIP=$(ifconfig eth2|sed -nr '2s#.*addr:(.*) B.*#\1#gp')Path=/backupif [ $(date +%w) -eq 0 ]then  Time=$(date +%F-%w -d "-1 day")else  Time=$(date +%F "-1 day")fimkdir $Path/$IP -pcd / &&\tar zcfh /backup/$IP/backup_$Time.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs &&\md5sum $Path/$IP/backup_$Time.tar.gz >$Path/$IP/flag_$Time.log &&\rsync -azv $Path/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsyncd.password &&\find $Path/ -type f \( -name "*.log" -o -name "*.tar.gz" \) -mtime +7 |xargs rm –f"back.sh" 15L, 628C written

上面代码只是修改了打包的情况,tar zcf /backup和定义一个变量tar $Path/结果就出现不一样的情况,第一种执行结果是:

代码一执行结果:

[root@nfs01 backup]# ls
172.16.1.31 backup_2017-12-23-6.tar.gz flag_2017-12-23-6.log

代码二执行结果:

[root@nfs01 backup]# ls
172.16.1.31

代码一和代码二原理是一样的,但是为什么执行的结果却有差别呢?个人觉得就是环境变量的目录的开头引起的,这样让前面的环境变量失效了,打包了两次:

测试脚本

[root@nfs01 scripts]# sh -x back.sh ++ sed -nr '2s#.*addr:(.*) B.*#\1#gp'++ ifconfig eth2+ IP=172.16.1.31+ Path=/backup++ date +%w+ '[' 4 -eq 0 ']'++ date +%F -d '-1 day'+ Time=2017-12-20+ mkdir /backup/172.16.1.31 -p+ cd /+ tar zcfh /backup/172.16.1.31/backup_2017-12-20.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs+ md5sum /backup/172.16.1.31/backup_2017-12-20.tar.gz+ rsync -azv /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsyncd.passwordsending incremental file list172.16.1.31/backup_2017-12-20.tar.gz172.16.1.31/flag_2017-12-20.logsent 1128 bytes received 65 bytes 2386.00 bytes/sectotal size is 2960 speedup is 2.48+ xargs rm -f+ find /backup/ -type f '(' -name '*.log' -o -name '*.tar.gz' ')' -mtime +7

测试脚本也没有出现问题,但是不知道原因是什么,求大神能够解答,不胜感谢!

以上是“Linux中如何定义变量脚本”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯