我的简单bash脚本如下:
#!/bin/bash
echo < "$(ls /)"
我跑步时
bash -i test.sh
它报告:
bash: bin
boot
dev
etc
home
initrd.img
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
vmlinuz: No such file or directory
我在哪里错了?
答案 0 :(得分:0)
command < file
将文件重定向到命令的标准输入中。 "$(ls /)"
不是文件名,echo
也不读取标准输入,因此重定向不是使用的正确工具。忽略它:
echo "$(ls /)"
如果您只是要$()
输出,则没有理由使用ls
来捕获echo
的输出。您可以摆脱这两种情况,而直接直接致电ls
:
ls /