kali linux docker镜像构build脚本失败 – 语法错误附近的意外标记`;&'
据官方网站介绍:
官方-卡利Linux的搬运工图像
#!/bin/bash # Install dependencies (debbootstrap) sudo apt-get install debootstrap # Fetch the latest Kali debootstrap script from git curl "http://git.kali.org/gitweb/?p=packages/debootstrap.git;a=blob_plain;f=scripts/kali;hb=HEAD" > kali-debootstrap &&\ sudo debootstrap kali ./kali-root http://http.kali.org/kali ./kali-debootstrap &&\ # Import the Kali image into Docker sudo tar -C kali-root -c . | sudo docker import - kalilinux/kali &&\ sudo rm -rf ./kali-root &&\ # Test the Kali Docker Image docker run -t -i kalilinux/kali cat /etc/debian_version &&\ echo "Build OK" || echo "Build failed!"
–
$ ./kali_linux_docker.sh Reading package lists... Done Building dependency tree Reading state information... Done debootstrap is already the newest version (1.0.78+nmu1ubuntu1.2). The following packages were automatically installed and are no longer required: linux-headers-4.4.0-53 linux-headers-4.4.0-53-generic linux-image-4.4.0-53-generic linux-image-extra-4.4.0-53-generic Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 315 not upgraded. ./kali_linux_docker.sh: line 5: syntax error near unexpected token `;&' ./kali_linux_docker.sh: line 5: `curl "http://git.kali.org/gitweb/?p=packages/debootstrap.git;a=blob_plain;f=scripts/kali;hb=HEAD" > kali-debootstrap &&\'
- 为了什么
&&
是为了? - 我该如何解决 ?
他们似乎是一些非法的编码字符,这是搞乱脚本执行,使用sed
删除它们
sed -i.bak -e 's|&|\&|g' -e 's|>|>|g' -e 's|[\r\n]||g' kali_linux_docker.sh
并照常运行你的脚本
./kali_linux_docker.sh
作为sed
一部分,还删除了可能干扰您脚本执行的任何Windows CRLF
结尾(如果存在)。
它看起来像脚本通过一个过度热心的HTML编码器,用他们的HTML实体等效物“ &
”和“ >
”代替“ &
”和“ >
”。 你只需要将它们转换回来。 这是我得到的:
#!/bin/bash # Install dependencies (debbootstrap) sudo apt-get install debootstrap # Fetch the latest Kali debootstrap script from git curl "http://git.kali.org/gitweb/?p=packages/debootstrap.git;a=blob_plain;f=scripts/kali;hb=HEAD" > kali-debootstrap &&\ sudo debootstrap kali ./kali-root http://http.kali.org/kali ./kali-debootstrap &&\ # Import the Kali image into Docker sudo tar -C kali-root -c . | sudo docker import - kalilinux/kali &&\ sudo rm -rf ./kali-root &&\ # Test the Kali Docker Image docker run -t -i kalilinux/kali cat /etc/debian_version &&\ echo "Build OK" || echo "Build failed!"