Bash echo,printf作为命令运行时无法在脚本中工作
我在WSL2中测试脚本Bash echo,printf作为命令运行时无法在脚本中工作,bash,shell,windows-subsystem-for-linux,Bash,Shell,Windows Subsystem For Linux,我在WSL2中测试脚本 这是我的剧本: #!/usr/bin/bash echo "testing..." printf "testing..." 如果我像那样跑步,效果很好 bash测试 源代码测试 。测试 但是,如果我将脚本所在的路径添加到path并运行 测试 为什么以及如何修复它?test是一个内置的bash。POSIX系统还将有一个测试可执行文件 当您在未指定可执行文件路径的情况下输入命令时,bash将首先检查该命令是否是其内置命令之一,然后再
这是我的剧本:
#!/usr/bin/bash
echo "testing..."
printf "testing..."
如果我像那样跑步,效果很好
bash测试
源代码测试
。测试
但是,如果我将脚本所在的路径添加到path并运行测试
为什么以及如何修复它?
test
是一个内置的bash。POSIX系统还将有一个测试
可执行文件
当您在未指定可执行文件路径的情况下输入命令时,bash将首先检查该命令是否是其内置命令之一,然后再在路径中搜索可执行文件。如果该命令与其中一个bash内置程序的名称匹配,它将运行该内置程序
如果仍希望在不指定脚本路径的情况下运行脚本,有两种方法:
建议:重命名文件,然后使用新名称运行它(脚本文件需要设置可执行权限位)
确保脚本的文件权限设置为可执行,确保设置了路径
,以便在系统的测试
之前找到测试
,然后运行环境测试
,运行脚本env
将搜索您的路径
以找到您的测试
可执行文件,然后执行它
最终,不建议使用选项2,因为对路径重新排序可能很脆弱,并且在系统上使用第二个测试二进制文件可能会让人困惑(对您和其他人来说)。测试
是一个内置的bash。POSIX系统还将有一个测试
可执行文件
当您在未指定可执行文件路径的情况下输入命令时,bash将首先检查该命令是否是其内置命令之一,然后再在路径中搜索可执行文件。如果该命令与其中一个bash内置程序的名称匹配,它将运行该内置程序
如果仍希望在不指定脚本路径的情况下运行脚本,有两种方法:
建议:重命名文件,然后使用新名称运行它(脚本文件需要设置可执行权限位)
确保脚本的文件权限设置为可执行,确保设置了路径
,以便在系统的测试
之前找到测试
,然后运行环境测试
,运行脚本env
将搜索您的路径
以找到您的测试
可执行文件,然后执行它
最终,不建议使用选项2,因为重新排序路径可能很脆弱,并且在系统上使用第二个测试二进制文件可能会让人困惑(对您和其他人来说)。测试是一个标准实用程序(也称为[
)显示类型测试的输出。lol,thk表示答案。它在我修改其文件名后工作。test
是一个标准实用程序(也称为[/code>)显示类型测试的输出。lol,thk表示答案。它在我修改其文件名后工作。我不会说“bash实用程序”--/usr/bin/test
存在,即使您根本没有安装bash;bash提供的内置等效物是一种性能优化,但如果没有,行为将是相同的。我不会说“bash实用程序”--/usr/bin/test
存在,即使您根本没有安装bash;bash提供了一个内置等价物是一种性能优化,但如果没有安装,行为将是相同的。