Я видел эту команду в учебнике для создания нового каталога:
mkdir my-new-project && cd $_
Я знаю, что команда mkdir my-new-project используется для создания нового каталога, но что делает cd $_?
Ответ 1
$_ расширяется до последнего аргумента предыдущей простой команды * или предыдущей команде, если у нее не было аргументов.
mkdir my-new-project && cd $_
^ Здесь у вас есть команда из двух простых команд. Последний аргумент для первого - my-new-project, поэтому $_ во второй простой команде будет расширяться до my-new-project.
Чтобы привести еще один пример:
echo a b; echo $_
#Will output:
#a b
#b
В любом случае mkdir some_dir && cd $_ является очень распространенным комбо. Если вы устали печатать его, я думаю, что это хорошая идея, чтобы сделать его функцией:
mkdircd() {
#Make path for each argument and cd into the last path
mkdir -p "[email protected]" && cd "$_"
}