0

我试图让 printf 函数打印出一行带有存储值的变量,其中一个变量可能包含一个星号。使用 printf 的原因是我可以遵循 limits.conf 文件中已有的格式样式,将每个变量固定在指定的空间量中。它适用于“*”以外的任何内容。

printf "#"'%-15s %-7s %-15s %-8s\n' $domain $type $item $value >> ~/etc/security/limits.conf

比如说:domain=* type=hard item=core value=100

执行此操作时,我奇怪地在limits.conf 文件中列出了我的所有目录,即使domain 的值为“*” 完全不确定是否可以解决此问题。希望有人能帮忙!提前致谢!

条目外观示例:

#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
4

1 回答 1

3

试试这种方式:

printf "#"'%-15s %-7s %-15s %-8s\n' "$domain" "$type" "$item" "$value" >> ~/etc/security/limits.conf

这应该保护 * 免受文件名扩展 - 这就是您所看到的。它还可以防止其他问题。

于 2013-04-10T22:08:47.153 回答