Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HP-UNIX上的Shell脚本错误_Shell_Unix - Fatal编程技术网

HP-UNIX上的Shell脚本错误

HP-UNIX上的Shell脚本错误,shell,unix,Shell,Unix,执行以下脚本时,我遇到一个错误: Syntax error at line 1 : `(' is not expected. 其中列表文件包含一些其他文件的名称 请帮助我找到一些解决方案。您的列表文件可能包含一个带有特殊字符的文件名,在执行cat命令时,该文件名没有正确转义。尝试使用-T参数将列表文件传递给tar,这样文件名就不必在命令行上展开: tar -cvf $HOME/mine.tar -T /tmp/$LOGNAME/List 在执行cat命令时,列表文件可能包含一个带有特殊字符的

执行以下脚本时,我遇到一个错误:

Syntax error at line 1 : `(' is not expected.
其中列表文件包含一些其他文件的名称


请帮助我找到一些解决方案。

您的列表文件可能包含一个带有特殊字符的文件名,在执行
cat
命令时,该文件名没有正确转义。尝试使用
-T
参数将列表文件传递给tar,这样文件名就不必在命令行上展开:

tar -cvf $HOME/mine.tar -T /tmp/$LOGNAME/List

在执行
cat
命令时,列表文件可能包含一个带有特殊字符的文件名,但该文件名没有正确转义。尝试使用
-T
参数将列表文件传递给tar,这样文件名就不必在命令行上展开:

tar -cvf $HOME/mine.tar -T /tmp/$LOGNAME/List

不要使用
cat
生成文件列表
tar
通常支持
--from file
-T
)选项直接处理列表中的文件:

sudo su - user1 -c "cd $HOME ; tar -cvf $HOME/mine.tar --files-from /tmp/$LOGNAME/List"

如果您的TAR版本没有,请考虑使用XARGS代替:

sudo su - user1 -c "cd $HOME ; xargs tar -cvf $HOME/mine.tar < /tmp/$LOGNAME/List"
sudo su-user1-c“cd$HOME;xargs tar-cvf$HOME/mine.tar
不要使用
cat
生成文件列表
tar
通常支持
--from file
-T
)选项直接处理列表中的文件:

sudo su - user1 -c "cd $HOME ; tar -cvf $HOME/mine.tar --files-from /tmp/$LOGNAME/List"

如果您的TAR版本没有,请考虑使用XARGS代替:

sudo su - user1 -c "cd $HOME ; xargs tar -cvf $HOME/mine.tar < /tmp/$LOGNAME/List"
sudo su-user1-c“cd$HOME;xargs tar-cvf$HOME/mine.tar
echo
单击命令(即
echo“cd$HOME;…”
)并查看它显示的内容。具体而言,
/tmp/$LOGNAME/List
的内容是什么?此外,是否存在与所讨论片段相关的上下文?脚本在这一点上做了什么?我将大胆猜测,$LOGNAME包含一个(或该列表文件的内容也包含在
echo
命令上的do.question)(即
echo“cd$HOME;…”
)看看它显示了什么特别是,
/tmp/$LOGNAME/List
的内容是什么?还有,有问题的代码段是否有上下文?脚本在这一点上做了什么?我将大胆猜测,$LOGNAME包含如果
List
包含太多的文件名,那么
xargs
版本上的问题也将失败…当然,这个限制相当高,但仍然有可能…如果
List
包含太多的文件名,
xargs
版本将失败…当然,这个限制相当高,但是这仍然是一种可能性。。。