我想设置一个脚本来自动更改机器上的时区(运行 ubuntu 11.10)并为debconf数据库设置正确的值。我尝试了以下方法,但它不起作用(最后,当前时区保持不变,如果我手动运行该dpkg-reconfigure tzdata命令,所选值确实是旧值):
#!/bin/sh -e
echo "tzdata tzdata/Areas select Europe" | debconf-set-selections
echo "tzdata tzdata/Zones/Europe select Madrid" | debconf-set-selections
echo "tzdata tzdata/Zones/America select " | debconf-set-selections
dpkg-reconfigure -f noninteractive tzdata
Run Code Online (Sandbox Code Playgroud)
所以,现在,我做它与文件搞乱/etc/localtime和/etc/timezone直接,但我宁愿喜欢dpkg-reconfigure和debconf方式。
我正在编写一个 shell 函数,它将从许多不同的地方调用,我想忽略函数内部发生的所有错误,禁用(可能启用)set -eshell 选项,执行set +e.
问题是我不知道是否设置了该选项,所以我不知道是否真的需要禁用它,更重要的是,如果我需要在最后再次设置它。
那么,我怎么知道它是否已设置?有没有办法忽略 shell 函数中所有命令的错误,-e如果设置了则忽略shell 选项?
我知道存在向所有用户 (winxp) 的“发送到”菜单添加项目的问题,但这不适用于 Windows 7。
我已经知道如何通过将快捷方式文件拖放到%APPDATA%\Microsoft\Windows\SendTo(或更准确地说,拖放到由注册表项指向的文件夹中HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\SendTo)将项目添加到一个用户的“发送到”菜单中。
但似乎不存在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\SendTo或类似的键。
那么有没有办法在Windows 7中做到这一点?