在编写linux shell脚本时,我遇到了一些小问题。
我的代码在下面,我正在努力将修改后的字符串名称输入到名为" fileName"的变量中。如下图所示。然后,我命令echo确定以前的代码运行良好。但是,它什么都不输出。
如何解决这个问题?
for file in ./*.txt
do
fileName=$file | rev | cut -d. -f2 | rev
echo {$fileName}
done
正如我所说,echo {$ fileName}没有输出我想要提取的单词。
我期待你的建议:)
答案 0 :(得分:1)
您需要使用命令替换$()
:
还可以使用echo
获取变量file
的值:
fileName="$( echo "$file" | rev | cut -d. -f2 | rev )"
或者使用Here strings:
fileName="$( rev <<<"$file" | cut -d. -f2 | rev )"