我需要你们的一些帮助,以了解这段代码黑。我在最后一行有问题。
谢谢
default_ip=$(hostname -I) //display localhost ip?
printf Put your local IP //print statement
read ip //save input to $ip
ip="${ip:-${default_ip}}" //not sure what is this, can you help?
谢谢
第一://
不是shell语法中的注释标记;使用#
。请注意在外壳程序中尝试使用其他语言的语法,因为它经常会有所不同。这是一个确切的错误导致服务器被删除的示例。
现在,到脚本:
default_ip=$(hostname -I)
hostname -I
打印计算机的所有IP地址(以空格分隔)。$()
将内容作为命令运行,并捕获该输出。该default_ip=
部件将该输出分配给default_ip
变量。hostname -I
打印计算机的所有IP地址(以空格分隔),因此default_ip
设置为该地址。
printf Put your local IP
这行不通。Put your local IP
零件周围应该有报价吗?无论如何,都可以printf
打印东西,但是使用起来有点复杂,所以我就回避问题的这一部分。
read ip
从标准输入(默认为终端)中读取内容,并将其存储在ip
变量中。
ip="${ip:-${default_ip}}"
将变量default_ip
用作变量的默认值ip
。该${thing1:-thing2}
语法试图获取变量的值thing1
,但如果它没有被定义为一个变量或定义为空字符串,它使用字符串thing2
代替。在这种情况下,thing2
is ${default_ip}
,它获取变量的值default_ip
。
基本上,这意味着如果用户只是点击回车键而不是输入IP地址,它将使用来自的输出hostname -I
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句