我不知道如何用變量執行一個命令並獲取結果。 我有很多.h
和.c
文件,我需要將每個從ISO-8859轉換爲UTF-8。BASH腳本 - 執行帶有變量和存儲結果的命令
所以我提出:
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
。
「有些不匹配」?請引用您收到的確切錯誤消息。 –
這不是錯誤。它是更多的文件,然後只有1美元的內容,我不明白這一點。 – designerrr
做任何從你ls |發出的文件grep ..'在文件名中有空格?這會打擊一切。嘗試在'result = ...'中更改爲「$ 1」,但您可能需要想出辦法處理文件名中的空格。請使用適當的示例值編輯您的問題,以獲取1美元和爭奪內容的確切文本。祝你好運。 – shellter