我正在尝试编写一个非常简单的mkcd
命令:
#!/bin/bash
mkdir $1
cd $1
目录已创建,但更改目录部分似乎未运行。
根据评论更新:
mkcd () {
mkdir "$1"
cd "$1"
}
我尝试首先将其作为本地文件运行:
./mkcd
我的最终位置是/opt/bin
,这两个位置似乎都不起作用。
答案1
它需要是一个函数:
mkcd() { mkdir -p "$1" && cd "$1"; }
脚本将在其自己的单独进程内运行。更改目录不会对父 shell 产生任何影响(也不会像 中那样更改子 shell 内的目录(cd /tmp)
)。