我希望这可能有效:
echo "starting";
{
cd "$HOME/foobar"
echo "rolo" > file.txt
}
echo "ending";
子 shell 代码将出现在大括号之间,但该语法似乎不正确,我该怎么做?
答案1
根据bash 文档您可以使用括号或大括号进行分组,但如果使用括号,您将得到一个子 shell。因此,要在子 shell 中运行命令,请使用:
echo "starting"
(
cd "$HOME/foobar"
echo "rolo" > file.txt
)
echo "ending"
不过对于这个例子,你可以
echo "rolo" > "$HOME/foobar/file.txt"