#!/bin/sh
var="$1";
OUTPUT=$(echo ${$var,,});
echo $OUTPUT
我尝试了所有可能的组合,包括逃脱某些字符。
我只是无法让shell输出我的脚本参数lower cased。
错误:
createmodule.sh: 26: createmodule.sh: Bad substitution
为什么这是?
有一个错误,请尝试一下:
#!/bin/bash
var="$1"
OUTPUT=${var,,}
echo $OUTPUT
您的$
过多。
在讨论中看到的那样,如果不确定想要的外壳确实是sh
,请切勿使用sh script
调用脚本。更好的方法是将良好的Shebang放在#!/bin/bash
,然后是chmod+x script.sh
,最后./script.sh