任何人都可以向我解释 ip="${ip:-${default_ip}}
Anyone can explain to me ip="${ip:-${default_ip}}
我需要你们的帮助来理解这段黑色代码。我对最后一行有疑问。
谢谢
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语法中的注释标记;使用 #
。请小心尝试在 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
就是${default_ip}
,得到变量default_ip
.
的值
基本上,这意味着如果用户只是点击 return 而不是输入 IP 地址,它会使用 hostname -I
的输出。
我需要你们的帮助来理解这段黑色代码。我对最后一行有疑问。
谢谢
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语法中的注释标记;使用 #
。请小心尝试在 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
就是${default_ip}
,得到变量default_ip
.
基本上,这意味着如果用户只是点击 return 而不是输入 IP 地址,它会使用 hostname -I
的输出。