我正在尝试将文件内容放入一个变量中,这是我的代码:
var=cut -d@ -f1 tmp2
我也尝试使用管道、let变量等方法。如何让它工作?
var=cut -d@ -f1 tmp2
我也尝试使用管道、let变量等方法。如何让它工作?
试试这个
var=`cut -d@ -f1 tmp2`
或者这个
var=$(cut -d@ -f1 tmp2)
v=`cat file.txt`
cat file.txt
周围使用 `` 吗? - Jan Vorcak~
)。 - Staven试试这个
var="$( cut -d@ -f1 tmp2 )"
$(..)
是调用命令替换的语法。除非你在使用旧版本的厂商Unix系统,如Solaris且使用Bourne shell,否则应避免使用 `...` 这种语法,因为它已被弃用。顺便提一下,你说现在 var 的值等于 'cat file.txt',那么你可能使用了错误的字符,很有可能是单引号字符 '
,而不是反引号字符 "`"。
正如你的标题所说,你正在尝试“将文件内容放入变量中”,我用 "..." 包围了 cut 命令的输出。现在,var 的值是 cut ...
命令的完整输出内容。
希望这可以帮助到你。
cut -d@ -f1 tmp2
而不是cat tmp2
吗?它有什么特殊的目的吗?谢谢。 - Jan Vorcakecho 'fld1@fld2\nfld3@fld4\n' | cut -d@ -f1
。你应该会得到fld1和fld3在不同的行上。如果tmp2包含相同的文本,你将得到两行完整的内容。如果这不清楚,我可以编辑我的答案,使其更容易理解。此外,反引号在1995年被认为是过时的,参见http://www.amazon.com/New-KornShell-Command-Programming-Language/dp/0131827006/ref=sr_1_3?s=books&ie=UTF8&qid=1322430885&sr=1-3 :-) 感谢您的关注,祝大家好运! - shelltercase "$var" in *pat1* ) xxx ;; *pat2* ) yyy;; esac
或echo "$var" > newFile
。祝您好运。 - shellter