0

每次我运行命令时,我都希望将 stderr 重定向到/tmp/test。测试文件应该有由换行符分隔的记录,而不是转到同一行。

如果我对选项域名服务器的输入是 192.168.0.1 和选项路由器 192.168.0.2,那么这两个将出现在同一行。它们应该出现在不同的行上。

我正在使用这些 IP 地址:

  1. 192.168.0.1
  2. 192.168.0.2

使用此命令行:

$ 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
4

2 回答 2

0

使用--separate-widget标志

您可以使用--separate-widget标志强制小部件用换行符而不是默认的制表符分隔。例如:

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
于 2013-02-21T14:37:57.670 回答
0

这是最终代码。dhcpd.conf现在将为输入框的每个输入提供正确的输出和换行符。

#!/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
于 2013-02-26T16:45:37.643 回答