当stdout不是终端时,如何在运行命令`ls -l`时启用换行符分隔

Divlaker

我将命令存储在变量中cmd,并使用以下语句获取命令的输出:

echo `$cmd`

一切正常,除了ls -l,缺少换行符。

吉勒斯“别再邪恶了”

如果您将命令存储在字符串变量中,则需要运行该命令

eval "$cmd"

$cmd仅当命令不包含空格以外的任何Shell特殊字符时,运行才有效。通常,将命令存储在字符串变量中不是一个好主意。最好定义一个函数:

cmd () {
  ls -l
}

然后,您可以使用just运行它cmd

最直接的问题是,由于使用的是无引号的命令替换,因此您将进一步处理命令的输出。您需要在变量和命令替换周围使用双引号。具有cmd定义为功能:

echo "`cmd`"

为避免复杂命令带来的意外,请使用美元括号而不是反引号:

echo "$(cmd)"

请参阅为什么我的Shell脚本会在空白或其他特殊字符上造成窒息?进行解释。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

验证换行符分隔的JSON文档时出错

使用tail时将换行符转换为以空分隔符

使用换行符分隔符时,Bash会去除“ N”字符

仅在有换行符时捕获分隔符之间的所有文本

当行分隔符是换行符并且csv数据中包含换行符时,如何使用fs readfile读取csv?

使用换行符分隔地址时,用于提取美国地址的RegEx无法正常工作

如何使用换行符作为分隔符?

如何返回由空格/换行符/等分隔但不包含空格/换行符的“单词”?

显示文字时丢失换行符

打印时的jQuery换行符

写入文件时插入换行符?

将ls写入数组(由换行符分隔)

如何从R读取换行符分隔的JSON文件?

如何用换行符分隔字符串?

Emacs:如何在遇到换行符时结束句子

PS1包含换行符时换行符断开

Java Scanner.readLine 消耗换行符,但使用 println 时不消耗换行符

如何仅转义分隔符而不是 CSV 中的换行符

使用jQuery附加时如何放置换行符

对jQuery使用.text()方法时如何保持换行符?

使用xpath时如何处理换行符<br/>

在Ruby中读取文件时如何删除换行符

重新缩进时如何禁用换行符?

使用appendTo(),insertAfter()等时,如何包含换行符?

使用 rvest 获取文本时如何保留换行符

显示字符串时如何显示换行符?

使用 document.getElementByID 时如何添加换行符

从命令捕获的stdout在传递给selenium时具有两倍的换行符

如何在group_concat函数MYSQL中使用换行符作为分隔符?