我有一段简单的代码,当我自己运行时,它可以工作,虽然它从文件中调用时不起作用.
代码如下:
for files in *; do echo ${files::10}; done
Run Code Online (Sandbox Code Playgroud)
当我尝试将其放入文件(例如MyScript.sh)时,我运行以下命令:
sh MyScript.sh
Run Code Online (Sandbox Code Playgroud)
我收到以下错误"MyScript.sh:2:MyScript.sh:Bad substitution"
为什么会这样?怎么解决这个问题?
你应该把它用bash不是sh因为你正在使用bash语法
bash MyScript.sh
Run Code Online (Sandbox Code Playgroud)
或者添加一个shebang(作为脚本的第一行)
#! /bin/bash
Run Code Online (Sandbox Code Playgroud)
并设置执行权限
chmod +x MyScript.sh
Run Code Online (Sandbox Code Playgroud)
然后你可以调用它
./MyScript.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30 次 |
| 最近记录: |