linux脚本问题,在线等!!!

来源:百度知道 编辑:UC知道 时间:2024/06/18 03:14:47
脚本中的这条命令怎么老是报错呢
tar -zcvf $filename Mail/ openldap/ apache/htdocs/

独立用这条命令就没有任何的问题呢???小弟在这里等高手解答了
脚本前面定义了the tar file
filename="test_`date +%Y%m%d`.tar.gz"
加了echo $filename后$filename成功赋了值的

为什么脚本中
tar -zcvf $filename Mail/ openldap/ apache/htdocs/ 就会报错
直接用命令
tar -zcvf test_`date +%Y%m%d` Mail/ openldap/ apache/htdocs/ 这样就没有任何错误

tar -zcvf $filename Mail/ openldap/ apache/htdocs/

$filename ???????
-----------
早说脚本中啊……
有可能是你的 $filename 没有被成功赋值。

你最好在这个 tar 上面一行加上 echo 语句让他输出内容看看是否成功的赋值。

我的测试可以被赋值:
root@ubuntu:~# cat test.sh
#!/bin/bash
aaa="test_`date +%Y%m%d`.tar.gz"
echo $aaa

root@ubuntu:~# sh test.sh
test_20080525.tar.gz
root@ubuntu:~#
----------
如果成功赋值,你再 echo 那个命令,看看是什么。直接粘贴输出运行。
另外,你都没说报的什么错……

你是要表示$这个字符本身?还是想引用系统一个变量?表示它本身$前面加\,引用变量要确保这个变量在当前shell环境里被export