小脚本提供一点帮助

小脚本提供一点帮助

我正在尝试通过创建一些脚本来减少打字,但我遇到了困难。

echo "Creating the plex.tar.gz"
dd if=plex.bin of=plex.tar.gz bs=200 skip=1; sync
echo "I am now unpacking the plex.tar.gz"
tar -zxf plex.tar.gz
echo "It should all be done"

我不断得到

xx:~/plex$ sudo ./plex_create
Creating the plex.tar.gz
510616+1 records in
510616+1 records out
102123230 bytes (102 MB, 97 MiB) copied, 1.43576 s, 71.1 MB/s
: not foundte: 2: ./plex_create: sync
I am now unpacking the plex.tar.gz
tar (child): plex.tar.gz\r: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
It should all be done
xxx@xxx:~/plex$

我实际上需要的是文本和运行命令,完成后是文本、另一个命令等等。

非常感谢。

答案1

作为重复的候选人('\r' 添加脚本命令的结尾)指出您需要删除\r添加到每行末尾的 Windows:

sed -i 's/\r//g' script.sh

您不应该使用dd(数据复制器)来创建.tar(磁带存档)文件。

不要使用这个:

dd if=plex.bin of=plex.tar.gz bs=200 skip=1; sync

改用这个:

tar -cvpzf plex.tar.gz plex.bin            # create .tar & add file

相关内容