gpt4 book ai didi

unix - 为什么 Bourne shell printf 遍历 %s 参数?

转载 作者:行者123 更新时间:2023-12-04 11:33:02 25 4
gpt4 key购买 nike

这里发生了什么?

打印文件.sh:

#! /bin/sh
NAME="George W. Bush"
printf "Hello, %s\n" $NAME

命令行 session :
$ ./printf.sh
Hello, George
Hello, W.
Hello, Bush

更新: printf "Hello, %s\n" "$NAME"作品。为什么我不使用 echo , 考虑

echo .sh:
#! /bin/sh
FILE="C:\tmp"
echo "Filename: $FILE"

命令行:
$ ./echo.sh
Filename: C: mp

POSIX spec for echo 说,“鼓励新应用程序使用 printf 而不是 echo”(出于这个和其他原因)。

最佳答案

您的 NAME 变量被替换如下:

printf "Hello, %s\n" George W. Bush

用这个:
#! /bin/sh
NAME="George W. Bush"
printf "Hello, %s\n" "$NAME"

关于unix - 为什么 Bourne shell printf 遍历 %s 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com