LINUX.ORG.RU

Short mv с одним аргументом

 


1

2

Недавно в одной статье наткнулся на такую конструкцию:

mv /path/to/file.conf{,.back}
С результатом перемещения оригинального файла в
/path/to/file.conf.back
Гугл не работает и не понятно это вообще законно? В общем хотелось бы знать что это за хак и какие классные штуки ещё есть.

Это называется «Brace Expansion»:

man -P 'less -p "Brace Expansion"' bash

xaizek ★★★★★ ()
Последнее исправление: xaizek (всего исправлений: 1)

Это не один агрумент, а конструкция интерпретирующаяся башем. Сделай echo /path/to/file.conf{,.back}

anonymous ()

лучше работай по-старинке без этих «классных» штучек. Рано или поздно косякнёшь и будут последствия серьёзные (если будешь работать с критичными системами).

iljuase ★★ ()

не понятно это вообще законно?

Это нестандартное (с т.з. POSIX Shell Command Language) расширение. Для интерактива удобно, чтобы не перепечатывать много.

d_a ★★★★★ ()
Ответ на: комментарий от iljuase

лучше что-то вроде

mkdir -p {library,module_utils,filter_plugins,roles/common/{tasks,handlers,templates,files,vars,defaults,meta}}
чем накопипастить лишнего или ошибиться при повторении половины команды. а рано или поздно косякнёшь и будут.

system-root ★★★★ ()
Ответ на: комментарий от d_a

Это нестандартное

Это зависит от того, где вызывается. Если в bash - вполне стандартное.

former_anonymous ★★★ ()
Ответ на: комментарий от d_a

У нас тут стандарт это жну/линуск с башем, посанчек.

anonymous ()
Ответ на: комментарий от system-root

лучше что-то вроде mkdir -p ...

Да ну нафиг. С mkdir -p трудно накосячить. А вот с mv — запросто.

vodz ★★★★★ ()
Ответ на: комментарий от former_anonymous

Это зависит от того, где вызывается.

Всё правильно, это и есть нестандартное (по определению).

d_a ★★★★★ ()
Ответ на: комментарий от anonymous

Ваше жму ничего не может и рмс всё профукал.

d_a ★★★★★ ()

если не уверен, то просто подставь echo в начале:

echo mv /path/to/file.conf{,.back}

mv /path/to/file.conf /path/to/file.conf.back

anonymous ()
Ответ на: комментарий от anonymous

Или ls, что бы заодно чекнуть пути.

anonymous ()
Ответ на: комментарий от d_a

Всё правильно, это и есть нестандартное (по определению).

Нет, это стандартные башизмы.

madcore ★★★★★ ()
Ответ на: комментарий от madcore

автокомплитом тебя по кумполу с твоими башизмами

anonymous ()
Ответ на: комментарий от anonymous

Башизмы обычно удобнее в скриптах, а не в интерактивной работе.

madcore ★★★★★ ()
mkdir porn/gay && cd $_

Вообще, есть очень хорошая книжка по bash, довольно толстая, там рассказывается очень много интересного, включая такие хитрости. Надеюсь, местные аналитики дополнят автором и названием книги.

P.S. Нагуглил страничку с хорошими ссылками: https://www.quora.com/What-are-some-good-books-for-learning-Linux-bash-or-shell-scripting

VeroLom ★★ ()
Ответ на: комментарий от VeroLom

Большое спасибо за ссылку, отличный хэндбук с примерами.

Gedweb ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.