wc: ‐l: No such file or directory
时间: 2023-09-24 07:13:18 浏览: 196
这个错误通常是由于在使用 `wc` 命令时,参数使用了非 ASCII 编码的短横线。在某些情况下,复制的文本可能会包含非 ASCII 编码的字符,例如 em dash(—)或 en dash(–),它们看起来与常规短横线相同,但实际上是不同的字符。
要解决这个问题,你可以手动将短横线替换为常规短横线。或者,你可以尝试删除命令并手动重新输入短横线。例如,将 `wc -‐l` 替换为 `wc -l`。
另外,如果你是在脚本或程序中使用该命令,也可以尝试使用纯 ASCII 编码的短横线,例如 `wc -l`。这样可以避免类似的问题。
相关问题
wc: ‐l: No such file or directory ./t.sh: line 11: RANDOM%line +1: division by 0 (error token is "line +1")
这个错误提示意味着在脚本的第11行中,发生了除以0的错误。这可能是因为变量line的值为0,导致计算随机数时出现了除以0的情况。同时,wc命令的-l选项可能找不到文件或目录,需要检查路径是否正确。你可以在脚本中添加一些条件来避免这些错误,例如:
```
if [[ -f "$file" && $(wc -l < "$file") -gt 0 ]]; then
line=$(wc -l < "$file")
rand_num=$((RANDOM%line+1))
else
echo "File not found or empty"
fi
```
这样可以先判断文件是否存在且不为空,再进行随机数计算,避免除以0的情况。
for file in aaa bbb ccc,do,echo $file:`wc –l $file` , done
这是一个 shell 脚本的语法错误,应该为:
```
for file in aaa bbb ccc; do
echo $file: `wc -l $file`
done
```
这段代码的作用是遍历当前目录下的 aaa、bbb、ccc 三个文件,然后输出每个文件的行数(使用 wc -l 命令)。注意到 for 循环中的语句要用分号 (;) 隔开,且 do 关键字必须单独占一行。
阅读全文