Bash 如何使用换行符作为输出记录分隔符从对话框重定向stderr?
每次运行命令时,我都希望stderr重定向到/tmp/test。测试文件应该有以换行符分隔的记录,而不是转到同一行 如果我对option域名服务器和option路由器的输入分别为192.168.0.1和192.168.0.2,那么这两个选项将出现在同一行。他们应该分道扬镳 我正在使用这些IP地址:Bash 如何使用换行符作为输出记录分隔符从对话框重定向stderr?,bash,dialog,stdout,separator,Bash,Dialog,Stdout,Separator,每次运行命令时,我都希望stderr重定向到/tmp/test。测试文件应该有以换行符分隔的记录,而不是转到同一行 如果我对option域名服务器和option路由器的输入分别为192.168.0.1和192.168.0.2,那么这两个选项将出现在同一行。他们应该分道扬镳 我正在使用这些IP地址: 192.168.0.1 192.168.0.2 使用此命令行: $ dialog --title "Inputbox - Example" \ --inputbox "option domain-na
$ dialog --title "Inputbox - Example" \
--inputbox "option domain-name-servers" 8 50 "option domain-name-servers " \
--inputbox "option routers" 8 50 "option routers " \
2> /tmp/test
使用--单独的小部件
标志
您可以使用--separate小部件标志强制小部件由换行符而不是默认的制表符分隔。例如:
dialog --separate-widget $'\n' \
--title "Inputbox - Example" \
--inputbox "option domain-name-servers" 8 50 "option domain-name-servers " \
--inputbox "option routers" 8 50 "option routers " \
2> /tmp/test
这是最后的代码。dhcpd.conf现在将为InputBox中的每个输入提供正确的输出和换行符
#!/bin/bash
dialog --title "DHCP-CONFIGURATION" \
dialog --separate-widget $'\n' \
--inputbox "option domain-name-servers" 8 50 "option domain-name-servers "
--inputbox "option routers" 8 50 \ "option routers "
--inputbox "ddns-update-style" 8 50 \ "ddns-update-style"
--inputbox "subnet and netmask" 8 50 \ "subnet and netmask "
--inputbox "range" 8 50 \ "range "
--inputbox "default-lease-time" 8 50 \ "default-lease-time "
--inputbox "max-lease-time" 8 50 \ "max-lease-time "
--inputbox "}" 8 50 \ "} "
2> /tmp/dhcpd.conf