我有一个包含以下代码的shell脚本:
var=`hg st -R "$path"`
if [ -n "$var" ]; then
echo $var
fi
Run Code Online (Sandbox Code Playgroud)
但条件代码总是执行,因为hg st始终打印至少一个换行符.
$var(比如trim()在PHP中)?要么
我有"我爱Suzi和Marry",我想把"Suzi"改为"Sara".
#!/bin/bash
firstString="I love Suzi and Marry"
secondString="Sara"
# do something...
Run Code Online (Sandbox Code Playgroud)
结果必须是这样的:
firstString="I love Sara and Marry"
Run Code Online (Sandbox Code Playgroud) 在编写bash脚本时,我一直在努力解决这个问题.基本上,我想测量远程服务器上程序的时间,所以我使用命令:
/usr/bin/time -f %e sh -c "my command > /dev/null 2>&1"执行程序.但是,似乎我无法将命令(SSH)的输出捕获到变量.实际上,结果(时间)一直打印到stdout.
完整的代码是:
respond=$(ssh ${fromNode} /usr/bin/time "-f" "%e" "'sh' '-c' 'virsh migrate --live ${VM} qemu+ssh://${toNode}/system --verbose > /dev/null 2>&1'")
Run Code Online (Sandbox Code Playgroud)
响应的值只是空的,尽管时间打印到标准输出.