首页 > 解决方案 > Debian WSL shell printf:找不到命令

问题描述

我正在尝试运行一个简单的设置脚本,它将使用命令 printf 创建一些文件。

问题是,当我尝试制作 xml 文件的第一行时,它会抛出一个错误:

./setup.sh: line 460: printf: command not found
./setup.sh: line 583: printf: command not found

我不明白为什么会这样,也许一个字符需要转义,我在 shell 中输入了相同的命令,它没有给我错误。

这是一些代码:

455 - # ----- Project file -----
456 -
457 - DestFile="${my_project_d}minivmac.vcxproj"
458 - printf "" > "${DestFile}"
459 - 
460 - printf "%s\n" '<?xml version="1.0" encoding="utf-8"?>' >> "${DestFile}"
461 - printf "%s\n" '<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' >> "${DestFile}"
462 - printf "%s\n" '   <ItemGroup Label="ProjectConfigurations">' >> "${DestFile}"
463 - printf "%s\n" '       <ProjectConfiguration Include="Release|x64">' >> "${DestFile}"
464 - printf "%s\n" '           <Configuration>Release</Configuration>' >> "${DestFile}"
465 - printf "%s\n" '           <Platform>x64</Platform>' >> "${DestFile}"
466 - printf "%s\n" '       </ProjectConfiguration>' >> "${DestFile}"
467 - printf "%s\n" '   </ItemGroup>' >> "${DestFile}"
......................................................................
578 - # ----- Project Filters file -----
579 - 
580 - DestFile="${my_project_d}minivmac.vcxproj.filters"
581 - printf "" > "${DestFile}"
582 - 
583 - printf "%s\n" '<?xml version="1.0" encoding="utf-8"?>' >> "${DestFile}"
584 - printf "%s\n" '<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' >> "${DestFile}"
585 - printf "%s\n" '   <ItemGroup>' >> "${DestFile}"
586 - printf "%s\n" '       <Filter Include="Header Files">' >> "${DestFile}"
587 - printf "%s\n" '           <UniqueIdentifier>{00030000-0000-0000-0000-000000000000}</UniqueIdentifier>' >> "${DestFile}"
588 - printf "%s\n" '           <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>' >> "${DestFile}"
589 - printf "%s\n" '       </Filter>' >> "${DestFile}"

我在 WSL 的最新 Debian 终端中运行此代码

标签: xmlbashshelldebianwindows-subsystem-for-linux

解决方案


推荐阅读