BASH脚本 – 执行带变量和存储结果的命令

我不知道如何使用变量执行命令并得到结果.
我有很多.h和.c文件,我需要将每个从ISO-8859转换为UTF-8.

所以我做:

ls | grep "\.[ch]" | xargs myscript.sh

在我的脚本中变量$1是文件名.现在我需要表演

iconv -f ISO-8859 -t UTF-8 $1

并存储此结果,因为iconv打印到stdout.

result=`iconv -f ISO-8859 -t UTF-8 $1`

echo $result

这似乎不起作用,因为它给了我一些不匹配而不是转换$1.

如果您需要首先对数据进行某种转换,可以使用以下语法“捕获”输出
result="$(iconv -f ISO-8859 -t UTF-8 $1)"

这里还有一个问题:如果你要存储大量具有潜在空白或其他有问题的字符的数据,请务必始终引用变量(“$result”而不是$result)以确保它获得作为单个字符串处理.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...