首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有-r的读取会破坏反斜杠

没有-r的读取会破坏反斜杠
EN

Ask Ubuntu用户
提问于 2022-09-17 02:00:14
回答 1查看 657关注 0票数 0
代码语言:javascript
复制
cd $Script_Dir
clear
read -p "Enter name of script to run shellcheck on. -> " n1
shellcheck "$n1" 

In shellchk.sh line 10:
read -p "Enter name of script to run shellcheck on. -> " n1
^-- SC2162: read without -r will mangle backslashes.

为什么要这么说?我绝不会在文件名中使用反斜杠。

如果我用

代码语言:javascript
复制
read -r "Enter name of script to run shellcheck on. -> " n1

/home/andy/bin/nshellchk.sh: line 11: read: `Enter name of script to run shellcheck on. -> ': not a valid identifier
: : openBinaryFile: does not exist (No such file or directory)
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2022-09-17 07:45:25

read是bash内建的。help read告诉

-r不允许反斜杠转义任何字符

shellcheck警告不要使用read而不使用-r,因为read不会像现在这样读取反斜杠。如果不需要启用反斜杠函数,请使用-rshellcheck不知道是否要在文件名中使用反鞭子。

如果希望-p显示提示文本,则必须使用read。所以你可能想用

代码语言:javascript
复制
read -r -p "Enter name of script to run shellcheck on. -> " n1
票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1429809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档