我已经用 C# 进行了相当多的编程,但后来我也编写了很多 T-SQL 脚本。C# 需要分号,而 T-SQL 和 PowerShell 它们是可选的。你为 PowerShell 做什么?为什么?我的直觉是包含分号,但我不知道为什么。
这是我想要自动化的内容:
00 08 * * * psql -Uuser database < query.sql | mail somone@null.com -s "query for `date +%Y-%m-%dZ%I:%M`"
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud) 例如,在 bash 中,您究竟必须如何解释命令“使用”输出的输出。
例如,在我的 OS X 上,cp给了我
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
Run Code Online (Sandbox Code Playgroud)
我需要针对我的程序实施 telnet 命令行,我想弄清楚这一点。
我有一个构建脚本 (Perl),可以.htaccess在部署应用程序时修改文件。作为双重检查,我希望能够对创建的.htaccess文件执行某种语法检查。
我熟悉使用的想法,apachectl -t但是,我在共享主机环境中,由于文件访问限制,我无法读取系统管理员指定的某些配置文件。Apachectl在这方面根本行不通。
欢迎提出想法或建议。
我一直在阅读http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-bind-zone.html但该文件提出了一个问题。IN是什么意思?它只是一个可选的类还是意味着更多?
(是的,我在 named.conf 中读到 IN 是一个类语句,但我不知道这是否同样适用于区域文件)
我明白,如果我没有在 named.conf 区域语句中定义一个类“IN”,那么我就不必在区域文件中使用它,例如:
带类声明
命名文件
zone "example.com" IN {
file "example.com.zone";
};
Run Code Online (Sandbox Code Playgroud)
例子.com.zone
server1 IN A 10.0.1.5
server2 IN A 10.0.1.6
Run Code Online (Sandbox Code Playgroud)
没有类声明
命名文件
zone "example.com" {
file "example.com.zone";
};
Run Code Online (Sandbox Code Playgroud)
例子.com.zone
server1 A 10.0.1.5
server2 A 10.0.1.6
Run Code Online (Sandbox Code Playgroud) 我正在尝试比较包含通配符的字符串。
("www.mysite.*" -match '`*')
Run Code Online (Sandbox Code Playgroud)
但是有些东西不起作用,因为我总是得到真实的回应,例如
("www.mysite.com" -match '`*')
Run Code Online (Sandbox Code Playgroud)
我试过使用 -contains 代替,但我总是错误的。
我正在运行 Lenny Xen dom0,在路由 IP 设置中托管多个虚拟机。为了获得额外的私有子网,我使用以下命令在 dom0 中创建了网桥 xenbr0:
brctl addbr xenbr0
ifconfig xenbr0 10.0.0.1 netmask 255.255.255.0
ifconfig xenbr0 up
Run Code Online (Sandbox Code Playgroud)
这按预期工作,并且 domU 接口在 VM 启动时由 Xen 添加到网桥。我唯一的问题是:我到底如何在 /etc/network/interfaces 中指定此配置,使其保持永久并且网桥在重新启动后可用?我尝试了在很多教程中找到的以下配置:
auto xenbr0
iface xenbr0 inet static
address 10.0.0.1
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
bridge_stp no
Run Code Online (Sandbox Code Playgroud)
我收到两个不同的错误,具体取决于桥是否已经存在。如果不存在:
root@dom0:~# brctl show
bridge name bridge id STP enabled interfaces
root@dom0:~# /etc/init.d/networking restart
Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface xenbr0 before doing NFS mounts (warning).
SIOCSIFADDR: No such device
xenbr0: ERROR while getting interface …Run Code Online (Sandbox Code Playgroud) 试图构造一个字符串。
我可以:
"Blah blah ${::osfamily} blah blah"
"Blah blah ${$::osfamily} blah blah"
但是用变量作为参数调用函数并进行字符串插值工作的语法是什么?
以下均无效:
"Blah blah ${downcase($::osfamily)} blah blah"
"Blah blah ${downcase($osfamily)} blah blah"
"Blah blah ${downcase(::osfamily)} blah blah"
"Blah blah ${$downcase(osfamily)} blah blah"
"Blah blah ${$downcase($osfamily)} blah blah"
等等。
我得到的是:
Error 400 on SERVER: Syntax error at '('; expected ')'
这在 Puppet 语言中是可能的吗?
我正在尝试创建一个 SecurityGroup,它的标签类似于Name: SG-StackName. 此代码在 json 中完美运行:
"Resources": {
"SecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
...
"Tags": [{
"Key": "Name",
"Value": {
"Fn::Join" : [ "", [
"SG-",
{ "Ref" : "AWS::StackName" }
]]
}
}
]
}
},
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试将其转换为 yaml:
Resources:
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
...
Tags:
- Key: Name
- Value: !Join
- ''
- - 'SG-'
- Ref: AWS::StackName
Run Code Online (Sandbox Code Playgroud)
堆栈构建失败并显示错误“在标签属性中找不到密钥”。模板中的错误在哪里?
在 Microsoft Azure 中,每 5 分钟运行一次脚本:“0 */5 * * * *”
我以为我会每 5 分钟加 2 分钟运行另一个脚本,规则为:“0 */7 * * * *”,但后来我意识到我犯了一个错误(0,5,10,15 vs 0,7,14,21 )这不是我想要的 0,7,12,17 。
我该怎么做?PS:不想从 0 开始,所以我想我必须在分钟字段中添加 1/X 而不是 0/X。
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer
我创建了一个非常简单的脚本(见下文),但无法使其正常运行。我总是收到消息说
line 5: syntax error near unexpected token 'fi'
line 5: 'fi'
Run Code Online (Sandbox Code Playgroud)
当我尝试执行此脚本时。
#!/bin/sh
rm /opt/file_name
if $? -ne 0 then
echo 'error'
fi
exit
Run Code Online (Sandbox Code Playgroud)
如果这有什么不同,我会在 Red Hat Linux 上运行它。
如果有人可以帮助确定 if 语句有什么问题,我将不胜感激。
账单
尝试在 bash 脚本中实现自语法检查,test.sh
以便在执行脚本之前运行语法检查。
error_exit()
{
echo -e "$1" 1>&2
exit 1
}
bash -n "$(basename $BASH_SOURCE)"
RESULT=$?
if [ $RESULT == 0 ]; then
echo "[OK] Test pass"
else
error_exit "Something is not right :( \n check the sytntax"
fi
starting-script
Run Code Online (Sandbox Code Playgroud)
bash -n,bash -x如果有一些严重的语法错误但小错误如:
echo "somthing" && sleep5&&
./test.sh: line 14: sleep5: command not found
Run Code Online (Sandbox Code Playgroud)
被忽略...
有什么方法可以处理完整的语法检查,并且可以在某种“沙箱模式”/“模拟模式”下运行脚本以捕获所有可能的错误,并返回错误(如果有)?
编辑 在脚本必须将脚本的某些部分复制到远程服务器的情况下,例如在数百个从属(受监控服务器)上安装 nagios 的脚本等。不幸的是,文本复制并不总是顺利进行,错误可能是由自动将脚本复制为文本时发生错误,如果检测到任何错误,请务必检查并结束脚本。