口译。 (点)在bash shell脚本

时间:2016-10-03 04:30:45

标签: bash shell unix command-line

我有一个功能,我打电话来检查文件的存在(在你这样的用户的帮助下已经大大改进了),如果用户使用了该功能,则该功能会中断。 (点)表示当前工作目录作为完整参数。

在那里已经有一个句柄来解释路径中的〜(代字号),所以我认为它应该不难处理。 (点)。这是当前的功能:

    1  exist.fn() {
    2      local dir="$1"
    3      while [ ! -d "$dir" ]; do
    4        echo -e "\033[1m\"$dir\"\033[0m does not exist." >&2
    5        read -u2 -e -p "Enter a valid path: " dir
    6        dir="${dir/\~/$HOME}"
    7      done
    8      echo "$dir"

在任何情况下,我都认为我可以在顶部插入一些像这样的小黑客,它可以解决问题:

      if [ "$dir" == '.' ]; then
        dir=$( pwd )
      fi

但是,没有骰子。有人在意吗?我仍然很好奇为什么这种方式不起作用。任何和所有输入都表示赞赏。

[编辑]:好的,所以第6行的替换是字符串操作。现在调查一下。

0 个答案:

没有答案