在终端中工作但不在脚本中工作

时间:2017-01-06 16:50:15

标签: bash perl shell shebang

sys.path.insert(0, os.path.abspath('.')) 

第3行查看文件并替换一些文本。具体来说,我替换

sys.path.insert(0, os.path.abspath('./DSPackage'))

array_T

这行在shell脚本的终端中工作得很好我得到错误:

  

语法错误:")"意想不到

1 个答案:

答案 0 :(得分:1)

如果我在dash执行命令,我收到错误。 dash似乎不支持$'...'引号。

它在bash中正常运行,并在zshksh中发出不同的错误:

Unknown regexp modifier "/D" at -e line 1, at end of line
Unknown regexp modifier "/S" at -e line 1, at end of line
Unknown regexp modifier "/P" at -e line 1, at end of line
Unknown regexp modifier "/k" at -e line 1, at end of line
Can't find string terminator "'" anywhere before EOF at -e line 1.

确保在脚本的第一行指定正确的shell

#! /bin/bash

并正确调用脚本:

/path/to/the/script.sh

cd /path/to/the
./script.sh