你能帮我吗,为什么这个脚本在来源时(甚至直接在控制台上)有效而在脚本上不起作用?
我已经检查过,无论如何我在 /bin/ 中使用相同的 bash,并且始终使用 4.4.19(1)-release(使用 进行检查$BASH_VERSION)。
此外,我尝试删除shebang,但没有任何变化。
#!/bin/bash
fname=c8_m81l_55.fit
bname=${fname%%+(_)+([0-9]).fit}
echo $bname
Run Code Online (Sandbox Code Playgroud)
给出这些结果:
test:~$ ./test.sh
c8_m81l_55.fit
Run Code Online (Sandbox Code Playgroud)
test:~$ . ./test.sh
c8_m81l
Run Code Online (Sandbox Code Playgroud) bash ×1