Bash:非法变量名错误

标签 bash shell grep naming-conventions

我正在尝试使用 grep 从文本文件中提取字段。我想将行号存储到 bash 变量中以备后用,但出现了非法变量名错误。这是我的脚本的一部分:

#!/bin/csh

set echo

grep -n -m 1 "HR${4}" Tossed/length${1}/TL${1}D2R${2}-${3}TT.txt | cut -d : -f 1

To_Start=$((grep -n -m 1 "HR${4}" Tossed/length${1}/TL${1}D2R${2}-${3}TT.txt | cut -d : -f 1))

这是输出:

[maurerj1@rucc-headnode Tenengolts_Generate]$ ./flow_LBBH.sh 7 0 0 0
grep --color=auto -n -m 1 HR0 Tossed/length7/TL7D2R0-0TT.txt
cut -d : -f 1
1                          #This is the right number
Illegal variable name.     #why is this not working?

据我所知,bash 变量名中允许使用大写字母、小写字母和下划线,那么我做错了什么?

最佳答案

我通过从 csh 更改为 bash、删除 set echo(通过将所有输入变量设置为“echo”导致了一些奇怪的问题)以及从 $(()) 更改为 $()​​ 来解决此问题。

关于Bash:非法变量名错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39862587/

相关文章:

linux - 解析文件中的数据

bash - 带有 if 语句的 Grep 命令

linux - 斐波那契数列计算器

bash - 如果已经设置了别名,我如何检查我的 bashrc

php - Shell 脚本 "read"函数 - 不是有效的标识符

regex - "partial grep"加快grep速度?

linux - 如何在一行中执行多个命令?

linux - Git:使用可执行文件

android - 亚行 |搜索引擎优化 | cut 没有显示结果...但是 cat |搜索引擎优化 |切没问题

python - 将 py 和 sh 代码合并到一个文件中