gpt4 book ai didi

使用 "-n"时,Bash "$@"参数无法被脚本识别

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

我使用的 bash 脚本需要命令行参数,前面是破折号,后面是文件名:

./script -abc file_name

在脚本中,我尝试使用以下方法打印出脚本的所有参数:

回显“$@”

显示:

-abc file_name

这是预期的。除了当我单独使用字母“n”时,一切都打印得很好,即:

./script -n 文件名

脚本中生成的 echo 语句仅打印出 file_name 参数,而根本不打印“-n”参数。此行为仅在字母“n”单独出现时发生。当我尝试使用“-nx”或“n”与任何其他字母时,echo 语句打印得很好......

为什么这个 echo 语句本身不能与“-n”一起使用?

最佳答案

-n-eecho 命令的有效选项。

因此它被 echo 命令消耗,并且只显示剩余的文本。
这是 echo 的一个已知问题,为了避免这个问题,您可以使用 printf

printf "%s\n" "$*"

关于使用 "-n"时,Bash "$@"参数无法被脚本识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59159916/

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