【发布时间】:2018-02-09 04:55:42
【问题描述】:
我想逐行列出目录中的所有文件,为此我使用了一个示例shell脚本,如下所示
#!/bin/sh
MY_VAR="$(ls -1)"
echo "$MY_VAR"
这按预期工作,但是如果使用 csh 执行相同的操作,如下所示:
#!/bin/csh
set MY_VAR = `ls -1`
echo $MY_VAR
它在一行中输出所有文件,而不是每行打印一个文件。
谁能解释为什么在 csh ls -1 中没有按预期工作。
【问题讨论】:
-
必读Csh programming considered harmful。然后切换到
bash或zsh -
嗯?
ls -1完美运行。这是未执行的命令替换。发出多行的任何其他命令都将具有相同的行为。