您好我是Bash的新手,我在使用空格读取输入时遇到问题。 我使用zenity,这是我的代码:
if($row['title'] != NULL || $row['overview'] != NULL)
当我尝试在文件夹中搜索文件时 - "名称空间"它不起作用,因为空格符号与名称相同。
如果您知道如何使用空格,请提供帮助。 谢谢大家!
答案 0 :(得分:1)
这是您的代码,针对某些问题修复(现在可以使用):
#!/bin/bash
result="$(zenity --forms --title="Title"\
--text="Text"\
--add-entry="File Name"\
--add-entry="Directory")"
name="$(echo "$result"| cut -d '|' -f 1)"
directory="$(echo "$result"| cut -d '|' -f 2)"
if [ "$directory" ]; then
command="$directory"
fi
if [ "$name" ]; then
command="$command$name"
fi
find "$command"
一些意见:
1)在为变量赋值或者扩展变量时,建议使用双引号。这排除了word splitting
。请参阅this。
2)避免在大写中使用变量--Bash shell使用大写中的变量,你应该避免这样做以避免名称冲突。
3)你的一些变量连接有一些错误,我修正了这些错误。
注意:您的用户应输入包含正斜杠的目录名称,例如/folder/
或/
(对于根目录)。
我希望这有帮助!