Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 数据库选择器_Linux_Database_Bash_Shell - Fatal编程技术网

Linux 数据库选择器

Linux 数据库选择器,linux,database,bash,shell,Linux,Database,Bash,Shell,我正在为Linux Ubuntu开发一个数据库服务。连接到数据库的GUI终端菜单程序出错 代码: 输出: /usr/local/bin/kittydb: 114: [: =: argument expected /usr/local/bin/kittydb: 118: /usr/local/bin/kittydb: 0+1: not found /usr/local/bin/kittydb: 113: /usr/local/bin/kittydb: /etc/kittydb/databases.

我正在为Linux Ubuntu开发一个数据库服务。连接到数据库的GUI终端菜单程序出错

代码:

输出:

/usr/local/bin/kittydb: 114: [: =: argument expected
/usr/local/bin/kittydb: 118: /usr/local/bin/kittydb: 0+1: not found
/usr/local/bin/kittydb: 113: /usr/local/bin/kittydb: /etc/kittydb/databases.txt: Permission denied

如何修复上述错误?

如果需要检查文件中的数据库名称是否正确,如果仅在匹配的第一次出现时才找到,则显示“完成”,请使用:

#!/bin/bash

echo -n "Database Name > "
read character
awk -v cha=$character '$0 == cha {print "Done";exit;}' /etc/kittydb/databases.txt

您不需要
循环来迭代文件<代码>awk会这样做。

你说不工作是什么意思?您希望您的代码做什么?它现在在做什么?请阅读和阅读。请看一看:更简洁一点,没有个人参考。在请求堆栈溢出社区帮助解决当前问题之前,您可能需要显示合理的努力。如果您希望将来更好地接收到您的问题,请考虑找到有关问题的语言语义的核心问题,并构建一个专门针对这一项的重放器。与您的用例相反。StackOverflow的目的是建立一个可重用的知识库;因此,为了使你提出的问题最大限度地有助于实现这一目标,有必要提出对你自己更有意义的问题。另请参见和。
-v cha=“$character”
可能更安全一些
IFS=read-r character
,同样地……同样,如果我们变得非常迂腐,POSIX不会指定传递时
echo
的输出是什么样子的
-n
;因此,
printf“%s”数据库名称>“
更安全一些。(见附件)
#!/bin/bash

echo -n "Database Name > "
read character
awk -v cha=$character '$0 == cha {print "Done";exit;}' /etc/kittydb/databases.txt