在bash脚本中用下划线替换连字符

时间:2018-12-07 15:10:21

标签: linux bash

尝试编写bash脚本,在其中的一部分中,我需要采用传递给它的任何参数,并用下划线替换连字符(如果存在的话)。

尝试执行以下操作

#!/usr/bin/env bash
string=$1
string=${string//-/_}
echo $string;

这是在告诉我string=${string//-/_}行由于“替换错误”而失败,但看起来应该这样做吗?我想念什么吗?

1 个答案:

答案 0 :(得分:1)

您的脚本没有任何问题,它应该可以在现代版本的Bash中使用。

但以防万一,您可以将其简化为:

#!/bin/bash

echo "$1" | tr '-' '_'

这是为了防止参数替换不起作用(这似乎是您的情况)。

致谢!