我有一个sh脚本:

  #!/bin/sh

  dirs=( $(find . -maxdepth 1 -type d -printf '%P\n') )
        echo "There are ${#dirs[@]} dirs in the current path"

        let i=1

        for dir in "${dirs[@]}"; do
            echo "$((i++)) $dir"
        done
        answer=2

        echo "you selected ${dirs[$answer]}!"

但我错了:
symfonymenu.sh:语法错误:“(”意外(应为“}”)
是线…德尔斯=
我喜欢回显文件夹中的所有可用目录,用户可以在提示界面中选择它。

最佳答案

您使用bash shell的特性,因此应该在bash中执行脚本。将第一行更改为:

#!/bin/bash

/bin/sh可以是任何与posix兼容的shell,例如在ubuntu上是dash。

关于linux - shell sh-Script中的目录列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18674213/

10-10 23:45