gpt4 book ai didi

bash - scanf 等同于 Bash?

转载 作者:行者123 更新时间:2023-11-29 09:09:16 44 4
gpt4 key购买 nike

如何在 bash shell 中查找来自键盘的用户输入?我在想这会行得通,

int b;

scanf("%d", &b);

但是它说

-bash: /Users/[name]/.bash_profile: line 17: syntax error near unexpected token `"%d",'

-bash: /Users/[name]/.bash_profile: line 17: `scanf("%d", &b);'

编辑

backdoor() {
printf "\nAccess backdoor Mr. Fletcher?\n\n"
read -r b
if (( b == 1 )) ; then
printf "\nAccessing backdoor...\n\n"
fi
}

最佳答案

只需使用内置的read:

read -r b

无需指定类型(根据 %d),因为变量不会在 shell 脚本中键入,除非您跳过(不必要的)箍来使它们如此;如果您想将一个值用作小数,那就是计算它的上下文的问题,而不是读取或存储它的方式的问题。

例如:

(( b == 1 ))

...将 $b 视为小数,而

[[ $b = 1 ]]

...在 b 和 "1" 之间进行字符串比较

关于bash - scanf 等同于 Bash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694224/

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