需求,需要编写一个脚本 来解压tar包,并执行操作,如果分成两个文件(脚本+tar包)感觉有点繁琐,所以合并成一个
[root@iZ2ze1o0n0b42z scripts]#mkdir test
[root@iZ2ze1o0n0b42z scripts]#ls
test
[root@iZ2ze1o0n0b42z scripts]#cd test/
[root@iZ2ze1o0n0b42z test]#ls
[root@iZ2ze1o0n0b42z test]#cd ../
[root@iZ2ze1o0n0b42z scripts]#echo abc > test/a.txt
[root@iZ2ze1o0n0b42z scripts]#tar cf test.tar test
[root@iZ2ze1o0n0b42z scripts]#ls
test test.tar
[root@iZ2ze1o0n0b42z scripts]#vim test.sh
#!/bin/bash
#
#********************************************************************
#Author: liuhao
#QQ: 1921160095
#Date: 2021-02-22
#FileName: test.sh
#Copyright (C): 2021 All rights reserved
#********************************************************************
line=17
# 脚本行数+1,不能使用变量
tail -n +$line $0 > test.tar
#把整个包中的tar包生成
tar xf test.tar
exit 0
# 需要加入退出符号,不然报错
[root@iZ2ze1o0n0b42z scripts]#chmod +x test.sh
[root@iZ2ze1o0n0b42z scripts]#cat test.sh test.tar > onetest.bin
#把脚本和tar包输入重定向就行了
[root@iZ2ze1o0n0b42z scripts]#chmod +x onetest.bin
[root@iZ2ze1o0n0b42z scripts]#mv onetest.bin /youyou/
[root@iZ2ze1o0n0b42z scripts]#cd /youyou/
[root@iZ2ze1o0n0b42z youyou]#ls
onetest.bin
[root@iZ2ze1o0n0b42z youyou]#./onetest.bin
[root@iZ2ze1o0n0b42z youyou]#ls
onetest.bin test test.tar
[root@iZ2ze1o0n0b42z youyou]#cat test/a.txt
abc