gpt4 book ai didi

包含星号的 Shell 脚本输入

转载 作者:行者123 更新时间:2023-12-04 16:18:03 25 4
gpt4 key购买 nike

如何编写接收字符串作为包含星号的参数的 shell 脚本(HPUX 上的 bash)?

e.g. myscript my_db_name "SELECT * FROM table;"

星号会扩展为当前目录中的所有文件名,如果我分配这样的变量也是如此。
DB_QUERY="$2"
echo $DB_QUERY

最佳答案

星号“*”并不是唯一需要注意的字符,还有很多其他的 shell 元字符会导致问题,例如 < > $ | ; &

简单的答案是,当您不知道它们可能包含什么内容时,始终将您的参数放在引号中(即双引号 ")。

对于您的示例,您应该编写:

DB_QUERY="$2"
echo "$DB_QUERY"

当您希望将参数用作多个参数或开始使用 eval 时,它开始变得尴尬,但您可以单独询问。

关于包含星号的 Shell 脚本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1353016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com