我不知道如何使用变量执行命令并得到结果.我有很多.h和.c文件,我需要从ISO-8859转换为UTF-8.
所以我做:
ls | grep "\.[ch]" | xargs myscript.sh
Run Code Online (Sandbox Code Playgroud)
在我的脚本中变量$1是文件名.现在我需要表演
iconv -f ISO-8859 -t UTF-8 $1
Run Code Online (Sandbox Code Playgroud)
并存储此结果,因为iconv打印到stdout.
result=`iconv -f ISO-8859 -t UTF-8 $1`
echo $result
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,因为它给了我一些不匹配而不是转换$1.
如果您需要首先对数据进行某种转换,可以使用以下语法"捕获"输出:
result="$(iconv -f ISO-8859 -t UTF-8 $1)"
Run Code Online (Sandbox Code Playgroud)
这里还有一个问题:如果你要在其中存储大量具有潜在空白或其他有益的字符的数据,请务必始终引用变量("$result"而不是$result)以确保将其视为单个字符串.
| 归档时间: |
|
| 查看次数: |
21375 次 |
| 最近记录: |