我必须测试路径名是否为常规文件以及它的长度是否大于 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/