导致此错误的原因

导致此错误的原因

我有一个名为database.php的文件。在该文件的内部:

database_useranme = "ferdinel";
database_sixtysec = "ferdinel_db";

现在,我制作了一个脚本来获取数据库“ferdinel_db”,这是我的脚本:
#!/bin/bash

#To get the line that has a "database_sixtysec ="
getdb=`grep "database_sixtysec =" < /www/vhost/database.php`

# To verify Output what's inside in get_db
echo "$getdb"

# This one is to get the ferdinel_db
databaseName=`echo ${getdb#*\"} | tr -d '"; '`

#Below is to count the file if exist in $databaseName variable (ferdinel_db)
countFlag=`ls /var/lib/mysql/$databaseName | grep 'sixty_options.frm\|site_settings.frm' | wc -l`

#Ouput Either 0 , 1 or 2
echo $countFlag

然后,我将chmod +xchown root:root一起脚本。

现在,当我尝试运行它时,输出为:
$database_sixtysec = "ferdinel_db";
: No such file or directory_db
0

我期望2,因为当我在/var/lib/mysql/ferdinel_db/中手动查看时,那里有 sixty_options.frm site_settings.frm

我在#!/bin/bash的末尾添加 -x ,结果如下:
' getdb='$database_sixtysec = "ferdinel_db";
'+ echo 'ferdinel_db";
++ tr -d '"; '
+ databaseName=$'ferdinel_db\r'
' echo '$database_sixtysec = "ferdinel_db";
$database_sixtysec = "ferdinel_db";
++ ls $'/var/lib/mysql/ferdinel_db\r'
++ grep 'sixty_options.frm\|site_settings.frm'
++ wc -l
: No such file or directorycssv25_db

数据库的末尾有一些类似\r 的东西

最佳答案

您的脚本具有CRLF结尾。尝试使用dos2unix或编辑器中的设置对其进行修复。

关于linux - 导致此错误的原因: No such file or directory,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19039180/

10-12 00:42