相关疑难解决方法(0)

如何从Bash变量中修剪空格?

我有一个包含以下代码的shell脚本:

var=`hg st -R "$path"`
if [ -n "$var" ]; then
    echo $var
fi
Run Code Online (Sandbox Code Playgroud)

但条件代码总是执行,因为hg st始终打印至少一个换行符.

  • 是否有一种简单的方法可以从中删除空格$var(比如trim()在PHP中)?

要么

  • 有没有一种标准的方法来处理这个问题?

我可以使用sed或AWK,但我想有一个更优雅的解决方案来解决这个问题.

string variables bash trim

854
推荐指数
30
解决办法
124万
查看次数

在shell脚本中替换另一个字符串的子字符串

我有"我爱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 shell

701
推荐指数
12
解决办法
74万
查看次数

在bash脚本中将SSH输出捕获为变量

在编写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)

响应的值只是空的,尽管时间打印到标准输出.

ssh bash stdout

17
推荐指数
1
解决办法
5万
查看次数

标签 统计

bash ×3

shell ×1

ssh ×1

stdout ×1

string ×1

trim ×1

variables ×1