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

int b;

scanf("%d", &b);

但上面说
-bash:/Users/[name]/.bash_配置文件:第17行:意外标记“%d”附近的语法错误,'
-bash:/Users/[name]/.bash_配置文件:第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"之间进行字符串比较。

10-05 19:00