我正在尝试通过创建一些脚本来减少打字,但我遇到了困难。
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