📜  将 ls 存储到数组 bash - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:43.997000             🧑  作者: Mango

将 ls 存储到数组 bash

在bash中,我们可以将命令的输出存储到数组中。这对于需要对输出进行处理的程序非常有用。下面将介绍如何将ls命令的输出存储到数组中。

代码示例
#!/bin/bash

# 将ls命令的输出存储到数组中
fileList=( $(ls) )

# 遍历数组
for file in "${fileList[@]}"
do
  echo $file
done
代码解析
  1. 创建一个数组fileList,并将ls命令的输出作为数组元素存储到数组中。这里使用了$(ls)语法,将ls命令的输出传递给数组。
  2. 遍历数组,输出数组的每个元素。
注意事项
  1. $(ls)会将ls命令的输出作为一个整体传递给数组,数组中的每个元素以空格为分隔符。如果ls命令的输出中包含空格或特殊字符,需要注意对特殊字符的转义。
  2. 数组的每个元素需要在引号内,以避免空格原因引起的问题。在引用数组元素时,请使用双引号并将该元素括在花括号内,例如:"${fileList[@]}"
  3. 确保数组元素中不包含换行符或其他不正常的字符,否则在遍历时可能会导致意料之外的行为。
总结

将ls命令的输出存储到数组中是bash编程中的常见操作。这种方法允许程序员轻松地处理输出,并在需要时对其进行更改。在处理输出之前,请确保处理每个数组元素以避免意料之外的行为,特别是当数组元素包含空格或特殊字符时。