linux -> 和 < 区别 Bash

标签 linux bash wc

我必须测试路径名是否为常规文件以及它的长度是否大于 50 字节,因此我这样做:

if [[ -f $path && `wc -c < $path` -gt 50 ]]; then ......

它有效,但是出于好奇,我也尝试这样做:

if [[ -f $path && `$path > wc -c` -gt 50 ]]; then ......

但它不起作用,我不明白为什么。

因此我问你 < 之间的区别和 > Bash 中的运算符。

最佳答案

<是“读取自”——重定向输入,而 >是“写入”——重定向输出。两者后跟要使用的文件的名称。所以

wc -c < $path

运行 wc命令,从文件中读取 $path

$path > wc -c

运行 $path命令,写入文件 wc

关于linux -> 和 < 区别 Bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34520697/

相关文章:

shell - 如何使用shell计算UTF-8编码的文件中的汉字

linux - 如何编译生成.exe?

linux - 从内核向用户空间发送信号

linux - codeigniter框架上传保存在linux mint上

bash - xargs 并剪切 : getting `cut` fields of a csv to bash variable

linux - 试图计算 perl 中一行中的字符数,但失败了

LPR 命令的 Linux 打印问题

bash:我如何连接两个命令的输出以便我可以将它们传递给第三个命令?

Bash 字符串替换给我 "bad substitution"

linux - 我如何比较 3 个文件(以查看它们之间的共同点)?