当前位置: 技术问答>linux和unix
熟悉shell的进 :)
来源: 互联网 发布时间:2016-05-25
本文导语: 想把一个压缩文件a.tar (由文件夹 product生成)跟一shell脚本文件(install.sh)cat到一个文件里面(setup.sh) ,在install.shl脚本里面 tail 去把压缩文件拿出来,报错鸟。 cat到一个文件的代码如下 #! /bin/sh tar cvf a.tar product ca...
想把一个压缩文件a.tar (由文件夹 product生成)跟一shell脚本文件(install.sh)cat到一个文件里面(setup.sh) ,在install.shl脚本里面 tail 去把压缩文件拿出来,报错鸟。
cat到一个文件的代码如下
install.sh 代码如下:
运行setup.sh,郁闷,报错了 cannot open `+16' for reading: No such file or directory ,本以为行号算错了 改成17行也不行
cat到一个文件的代码如下
#! /bin/sh
tar cvf a.tar product
cat installbio.sh a.tar > setup.sh
chmod +x setup.sh
echo "success!"
exit 0
install.sh 代码如下:
#! /bin/sh
if [ $LOGNAME != root ];then
echo "Must have root privileges to run this program";
echo "Make sure you login use root!";
exit 1
fi
tail +17 $0 > data.tar
#tar xf data.tar 2>/dev/null
if [ $? != 0 ]
then
echo "There is error when unpacking files."
#rm -rf data.tar
exit 1
fi
exit 0
运行setup.sh,郁闷,报错了 cannot open `+16' for reading: No such file or directory ,本以为行号算错了 改成17行也不行
|
tail -17 $0
另外,你确定是$0
如果你要拿从17行以下的行应该用
tail --line=+17 filename
另外,你确定是$0
如果你要拿从17行以下的行应该用
tail --line=+17 filename
|
我把你源码运行了一遍,什么问题都没有~~
|
tail +17 $0 > data.tar
改成
`tail +17 $0 > data.tar`
试试
`在键盘上是跟~一个键的
可能跟shell不同有关系
改成
`tail +17 $0 > data.tar`
试试
`在键盘上是跟~一个键的
可能跟shell不同有关系