如果我运行脚本
#!/usr/bin/fish
cd /home/user/repos/repo1
pwd
按预期工作(更改目录并打印该路径)。
当我将相同的逻辑放入for循环中时,cd
抱怨参数太多,即使没有空格和。
#! /usr/bin/fish
set REPOS "/home/user/repos/repo1" "/home/user/repos/repo1"
for REPO_PATH in $REPOS:
echo $REPO_PATH
cd $REPO_PATH
pwd
end
使用相对路径无济于事,
set REPOS "~/repos/repo1" "~/repos/repo1"
使用不带引号的变量在循环外工作,在循环内同样抱怨。
像这样在bash中工作
#!/bin/bash
repos=("/home/user/repos/repo1" "/home/user/repos/repo1")
for path in "${repos[@]}"
do
cd $path
pwd
done
我已经阅读了鱼类文档的“列表和循环”部分。 我已经注意到cd有一个包装纸。这可能是问题吗?