Shell脚本,将命令值保存到变量中
我正在尝试在同一行中打印 VARI 的值,后跟逗号,以便我可以拥有这些值的 csv 文件,但我无法保存 VARI = 'cat 文件名 |头-1 | cut -d, -f${i}'
i=0
while (( i<130)) ;
do
if [[ $i -eq 1 || $i -eq 9 || $i -eq 12 || $i -eq 23 || $i -eq 25 || $i -eq 29 ]]
then
VARI = 'cat filename | head -1 | cut -d, -f${i}'
echo "$VARI ,"
fi
let i=$i+1;
done
预期输出是
4,abc,5,8,xyz,9
请让我知道我做错了什么,谢谢!
I am trying to print the value of VARI
in the same line followed by a comma, so that i can have a csv file of these values, but i m not able to save the value ofVARI = 'cat filename | head -1 | cut -d, -f${i}'
i=0
while (( i<130)) ;
do
if [[ $i -eq 1 || $i -eq 9 || $i -eq 12 || $i -eq 23 || $i -eq 25 || $i -eq 29 ]]
then
VARI = 'cat filename | head -1 | cut -d, -f${i}'
echo "$VARI ,"
fi
let i=$i+1;
done
output expected is
4,abc,5,8,xyz,9
Please let me know what i am doing wrong, thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用反引号(或可以嵌套的
$()
),而不是单引号:确保变量名称、等号和变量值之间没有空格。
资源:POSIX 的 2.10.2 Shell 语法规则。 1-2017 规范。
Use backticks (or
$()
which can be nested), not single quotes:Make sure to not have spaces between the variable name, the equal sign, and the variable value.
Resources: 2.10.2 Shell Grammar Rules of the POSIX.1-2017 specification.