#1
|
|||
|
|||
mkdir && cd
Victor Sudakov написал(а) к All в Feb 15 16:00:14 по местному времени:
Dear All, Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой создать каталог и перейти в него? Лень-матушка. Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20110223-b20110223 |
#2
|
|||
|
|||
Re: mkdir && cd
Valentin Davydov написал(а) к Victor Sudakov в Feb 15 16:37:31 по местному времени:
From: Valentin Davydov <sp@m.davydov.spb.su> > From: Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> > Date: Thu, 26 Feb 2015 16:00:14 +0300 > >Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой создать каталог и >перейти в него? > >Лень-матушка. mkcd () { case "$1" in /..|/../) cd -- "$1";; # that doesn't make any sense unless the directory already exists //../*) (cd "${1%/../*}/.." && mkdir -p "./${1##/../}") && cd -- "$1";; /*) mkdir -p "$1" && cd "$1";; /../*) (cd "./${1%/../*}/.." && mkdir -p "./${1##/../}") && cd "./$1";; ../*) (cd .. && mkdir -p "${1#.}") && cd "$1";; *) mkdir -p "./$1" && cd "./$1";; esac } Впрочем, не поручусь, что здесь рассмотрены все возможные случаи и оно всегда сделает cd именно в свежесозданный каталог. Вал. Дав. --- ifmail v.2.15dev5.4 |
#3
|
|||
|
|||
Re: mkdir && cd
Eugene Grosbein написал(а) к Victor Sudakov в Feb 15 12:26:48 по местному времени:
26 фев 2015, четверг, в 17:00 NOVT, Victor Sudakov написал(а): VS> Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой создать каталог и VS> перейти в него? VS> Лень-матушка. mkcd() { mkdir -p "$1"; cd "$1"; } if mkcd /mnt/tmp; then ... Eugene --- slrn/1.0.1 (FreeBSD) |
#4
|
|||
|
|||
Re: mkdir && cd
Semen Panevin написал(а) к Victor Sudakov в Feb 15 13:29:24 по местному времени:
Доброго здоровьица тебе, Victor! Thursday February 26 2015 16:00, Victor Sudakov писал All: VS> Dear All, VS> Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой создать VS> каталог и перейти в него? VS> Лень-матушка. ~/.bashrc alias С наилучшими пожеланиями, Семён. ... Жизнь принуждает человека ко многим добровольным действиям... (c)... --- GoldED+/LNX 1.1.5-b20130910 (Linux 3.10.17-gentoo iF6M10) |
#5
|
|||
|
|||
mkdir && cd
Andrew Kant написал(а) к Valentin Nechayev в Feb 15 18:10:36 по местному времени:
Нello Valentin! Saturday February 28 2015 10:29, Valentin Nechayev wrote to eugen@grosbein.net: >>>> Eugene Grosbein wrote: VS>>> Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой VS>>> создать каталог и перейти в него? Лень-матушка. EG>> mkcd() { mkdir -p "$1"; cd "$1"; } VN> Надо хотя бы && вместо простого ; поставить. Тоже хотел это предложить, но подумал, что каталог может уже существовать, и тогда имеет смысл наплевать на ошибку mkdir. Good bye! Andrew --- GoldED+/W32 1.1.4.7 |
#6
|
|||
|
|||
Re: mkdir && cd
Valentin Nechayev написал(а) к Andrew Kant в Mar 15 01:05:37 по местному времени:
From: Valentin Nechayev <netch@segfault.kiev.ua> >>> Andrew Kant wrote: VS>>>> Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой VS>>>> создать каталог и перейти в него? Лень-матушка. EG>>> mkcd() { mkdir -p "$1"; cd "$1"; } VN>> Надо хотя бы && вместо простого ; поставить. AK> Тоже хотел это предложить, но подумал, что каталог может уже существовать, AK> и тогда имеет смысл наплевать на ошибку mkdir. $ mkdir -p / && echo 1 1 -p он такой, да. --netch-- --- ifmail v.2.15dev5.4 |
#7
|
|||
|
|||
Re: mkdir && cd
Eugene Grosbein написал(а) к Valentin Nechayev в Mar 15 16:19:46 по местному времени:
28 фев 2015, суббота, в 11:29 NOVT, Valentin Nechayev написал(а): VS>>> Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой создать VS>>> каталог и VS>>> перейти в него? VS>>> Лень-матушка. EG>> mkcd() { mkdir -p "$1"; cd "$1"; } VN> Надо хотя бы && вместо простого ; поставить. Зачем? Если cd не сможет перейти, он сам вернет ошибку. Eugene -- Кара за одно съеденное яблоко, все-таки, была несоизмеримо велика, приступ диареи послужил бы достаточным уроком. --- slrn/1.0.1 (FreeBSD) |
#8
|
|||
|
|||
mkdir && cd
Victor Sudakov написал(а) к Eugene Grosbein в Mar 15 16:36:30 по местному времени:
Dear Eugene, 27 Feb 15 12:26, you wrote to me: VS>> Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой VS>> создать каталог и перейти в него? Лень-матушка. EG> mkcd() { mkdir -p "$1"; cd "$1"; } EG> if mkcd /mnt/tmp; then ... Точно, через функцию можно сделать. Я пробовал внешней командой, разумеется, после завершения внешней команды возвращаемся туда, откуда запустили ее. А вот в tcsh функций нет, там можно сделать? Привык я к нему за 20 лет. Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20110223-b20110223 |
#9
|
|||
|
|||
mkdir && cd
Victor Sudakov написал(а) к Semen Panevin в Mar 15 16:41:08 по местному времени:
Dear Semen, 27 Feb 15 13:29, you wrote to me: VS>> Имеет ли какой-нибудь шелл такую фичу, чтобы одной командой VS>> создать каталог и перейти в него? VS>> Лень-матушка. SP> ~/.bashrc SP> alias А дальше? Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20110223-b20110223 |
#10
|
|||
|
|||
Re: mkdir && cd
Eugene Grosbein написал(а) к Victor Sudakov в Mar 15 18:20:55 по местному времени:
03 мар 2015, вторник, в 17:36 NOVT, Victor Sudakov написал(а): VS> А вот в tcsh функций нет, там можно сделать? Привык я к нему за 20 лет. alias mkcd 'mkdir -p "$1"; cd ' Команде cd аргумент "$1" будет подставлен автоматически. Eugene -- Поэты - страшные люди. У них все святое. --- slrn/1.0.1 (FreeBSD) |