我想要按行列出目录中的所有文件,为此我使用了以下示例Shell脚本:
ls -1 /path/to/directory
#!/bin/sh
MY_VAR="$(ls -1)"
echo "$MY_VAR"
这个操作按预期运行,但是如果使用csh执行同样的操作,则如下所示:
#!/bin/csh
set MY_VAR = `ls -1`
echo $MY_VAR
它会将所有文件输出在一行中,然后每行打印一个文件。
有人能解释一下为什么在csh中ls -1不能按预期工作吗?
bash
或zsh。 - Basile Starynkevitchls -1
完美运行。问题出在命令替换上。任何发出多行的其他命令都会有相同的行为。 - Charles Duffy