如何在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"
之间进行字符串比较。