在bash脚本上自动将数据输入到read变量中

时间:2016-12-19 00:17:16

标签: bash

如何检测服务器域名并自动输入,以便我可以按Enter键

{{1}}

谢谢, 克里斯

2 个答案:

答案 0 :(得分:1)

Hostname=$(uname -n) #or $(hostname -f)
Nameserver=$(cat /etc/resolv.conf)

检查是否已设置:

if [ -z "$Hostname" ];then  
read -p "Give name " name
Hostname=$name
fi

另请注意,Linux / UNIX附带以下实用程序来显示主机名/域名:

a)主机名 - 显示或设置主机名
b)域名 - 显示或设置NIS / YP域名
c)dnsdomainname - 显示DNS域名
d)nisdomainname - 显示或设置NIS / YP域名
e)ypdomainname - 显示或设置NIS / YP域名

答案 1 :(得分:1)

当您使用内置read时,听起来想要预填充编辑缓冲区

Bash v4 +允许您将-e选项(激活readline库支持)与-i <editBufferDefault>相结合; e.g:

editBufferDefault=$(domainname)  # get default value to offer to the user
read -e -p "Please enter your domain name: " -i "$editBufferDefault"