Где-то я видел данную комманду, но уже не вспомню где. Поискал на просторах интернета, да так и не нашел.
Может кто подскажет данную комманду, а также в догонку и парочку других экзотических?
Заранее благодарен.
Сергей Бурдужа, да я бы не сказал, что это хитрость :) просто две команды объединенные логикой И. Я просто когда-то программировал на баше, потому написал так как я бы сделал.
Сергей Бурдужа, Дополню ответ Алексей
Бывает так, что нужно перейти в другой каталог, выполнить там что-то и вернуться обратно. Вот можно заюзать скобки: (mkdir foo && cd "$_" && run somecmd).
Посмотреть код завершения можно просто mkdir foo; echo $?
Так же иногда перед созданием каталога нужно проверить есть ли он на месте, иначе вернется код 1 при его создание и ошибка запишется в лог.
для этого перед созданием нужно проверить наличие test ! -d /backup && { mkdir -p /backup ; }
Сергей Бурдужа, так все пользуются cd, просто вы интересовались как перейти, а затем вернуться где был.
Варианта два - или запомнить текущий каталог в переменную, затем в нее возвращаться.
Или пользоваться pushd, чтобы оно переходило в каталог и сохраняло его в буфере, затем через popd возвращаться назад по FIFO.
Saboteur, Saboteur, Не совсем так. Я имел ввиду создать пустой каталог и сразу же войти в него. А для перехода туда обратно на один уровень можно использовать "cd -"
Сергей Бурдужа, нет такого, чтобы одна команда это делала.
Но какая разница? cd и mkdir внутренние команды, они выполняются быстро
cd - просот переходит в предыдущий каталог
привет, я тоже слегка увлекаюсь и потому не смог найти ответ на ваш вопрос,
получилось только это:
df_(){
mkdir -m 755 "$1" && cd "$_" && touch "$2" && chmod 644 "$_" && vim "$_"
# mkdir "$1" && cd "$_" && >"$2" && _gls
}
df_ test test
но, мы ещё подумаем)..
p.s. bash 5.2.26(1)-release (x86_64-apple-darwin20.6.0)
alias _gls="gls -lhF --group-directories-first" # coreutils