我是Bash Script的新手.我在Ubuntu中运行以下简单脚本,如下所示:
sudo bash -x Script.sh
Run Code Online (Sandbox Code Playgroud)
输出:
+ $'\r'
: command not found
+ $'\r'
: command not found
+ $'\r'
: command not found
+ adminEmail=$'info@domain.com\r'
+ $'\r'
: command not found
' echo 'database name:
database name:
+ read $'dbname\r'
Run Code Online (Sandbox Code Playgroud)
实际的脚本:
#!/bin/bash
# Installation script for latest Wordpress website on Ubuntu
#
# Kave
# December 27, 2011
adminEmail="info@domain.com"
echo "database name:"
read dbname
Run Code Online (Sandbox Code Playgroud)
这些'\r'错误消息会出现什么?甚至评论似乎都不被理解......
jay*_*ngh 12
简单地做
dos2unix scriptname
Run Code Online (Sandbox Code Playgroud)
并执行你的脚本.
如果您没有该工具,可以执行以下操作来安装它.
sudo apt-get install dos2unix
Run Code Online (Sandbox Code Playgroud)
要么
执行以下命令行黑客转换文件.
tr -d '\015' < scriptname > scriptname.new
Run Code Online (Sandbox Code Playgroud)
要么
sed -i 's/\x0D$//' scriptname
Run Code Online (Sandbox Code Playgroud)
您通过Windows机器下载了该文件,并且您有CRLF行结尾(使用\r\nC语言和相关语言).
删除DOS行结尾.例如,编辑文件vim并使用:set fileformat=unix(加号Return)更改格式,然后将文件写回.替代技术可以使用tr命令,dos2unix或者dtou,取决于可用的命令.
| 归档时间: |
|
| 查看次数: |
7303 次 |
| 最近记录: |