Некоторые картинки не загружаются из РФ и РК, используйте VPN.
Показаны сообщения с ярлыком console. Показать все сообщения
Показаны сообщения с ярлыком console. Показать все сообщения

пятница, 16 декабря 2022 г.

Bash Console Script Фигурные скобки

"А так можно было?" - подумал я увидя такую конструкцию:

user@server:~$ mv /etc/postfix/{canonical,sender_relay,sasl_passwd} /etc/postfix/private/

Или так (переимновать без ввода полного пути)

user@server:~$ mv /etc/postfix/main.cnf{,.back}

Или так (создать копию без повторного ввода всего пути)

user@server:~$ cp /etc/postfix/main.cnf{,.back}
user@server:~$ ls /etc/postfix/main*
/etc/postfix/main.cf  /etc/postfix/main.cf.back  /etc/postfix/main.cf.db  /etc/postfix/main.cf.proto  /etc/postfix/main.cf.proto.db  /etc/postfix/main.cf.save

С того момента я каждый раз тратил много времени на попытку вспомнить конструкцию и вот решил устаканить в своей голове фигурные скобки в консоли линукс-подобных систем. При повседневных операциях бывает необходимо повторить одно действие несколько раз и как же бесит когда не можешь упростить. Перейдем к примерам - скопировать из каталогов несколько разных файлов можно разными способами:

user@server:~$ ls ~/test
folder_1 folder_2 file_1 file_2 file_1_bak file_2_bak

user@server:~$ cp ~/test/file_1 ~/test/file_1_bak /new_folder
user@server:~$ ls /new_folder
file_1 file_1_bak

user@server:~$ rm /new_folder/*
user@server:~$ cp ~/test/file_1* /new_folder
user@server:~$ ls /new_folder
file_1 file_1_bak

user@server:~$ rm /new_folder/*
user@server:~$ cp ~/test/file_{1,1_bak} /new_folder
user@server:~$ ls /new_folder
file_1 file_1_bak

user@server:~$ rm /new_folder/*
user@server:~$ cp ~/test/file_1{,_bak} /new_folder
user@server:~$ ls /new_folder
file_1 file_1_bak