Bash:can';不使用脚本参数创建小写字母?
我尝试了所有可能的组合,包括转义某些字符 我只是不能让shell输出小写的脚本参数 错误:Bash:can';不使用脚本参数创建小写字母?,bash,shell,Bash,Shell,我尝试了所有可能的组合,包括转义某些字符 我只是不能让shell输出小写的脚本参数 错误: #!/bin/sh var="$1"; OUTPUT=$(echo ${$var,,}); echo $OUTPUT 为什么会这样?出现错误,请尝试以下方法: createmodule.sh: 26: createmodule.sh: Bad substitution 您的$已超过 如讨论中所示,如果您不确定想要的shell是否真的是shshell,请不要使用sh script调用脚本。更好的方法是像
#!/bin/sh
var="$1";
OUTPUT=$(echo ${$var,,});
echo $OUTPUT
为什么会这样?出现错误,请尝试以下方法:
createmodule.sh: 26: createmodule.sh: Bad substitution
您的$
已超过
如讨论中所示,如果您不确定想要的shell是否真的是
sh
shell,请不要使用sh script
调用脚本。更好的方法是像#一样把好的shebang放进去/bin/bash
,然后是chmod+x script.sh
,最后是/script.sh
出现错误,请尝试以下操作:
createmodule.sh: 26: createmodule.sh: Bad substitution
您的$
已超过
如讨论中所示,如果您不确定想要的shell是否真的是
sh
shell,请不要使用sh script
调用脚本。更好的方法是像#一样把好的shebang放进去/bin/bash
,然后是chmod+xscript.sh
,最后是/script.sh
你有像我一样的/bin/bash
shebang吗?几秒钟前刚刚编辑。我有/bin/sh,如代码中所示。这会有所不同吗?编辑:我把它改成了/bin/bash,仍然在出错。当然!当您编写/bin/sh
时,您明确要求链接到/bin/sh
的内容在POSIX
模式下运行,就像bash
链接为/bin/sh
是一样。但它仍然在困扰着我,我不知道为什么。你可以自己试试。嘿,这就是为什么我告诉你被调用的shell非常重要。你有像我一样的/bin/bash
shebang吗?几秒钟前刚刚编辑。我有/bin/sh,如代码中所示。这会有所不同吗?编辑:我把它改成了/bin/bash,仍然在出错。当然!当您编写/bin/sh
时,您明确要求链接到/bin/sh
的内容在POSIX
模式下运行,就像bash
链接为/bin/sh
是一样。但它仍然在困扰着我,我不知道为什么。你可以自己试试。呵呵,这就是为什么我告诉你这个外壳非常重要的原因。