вторник, 19 декабря 2006 г.

Не делаем ошибок при наборе команд в Bash

При наборе команд в Bash часто возникают ошибки? Тогда вам сюда. Будем учиться набирать правильно :).

Первый вариант: вариант заядлого линуксоида, который знает что такое файл .bashrc, знает как им пользоватся, как его редактировать...

Итак. При наборе команд вместо grep он набирает grpe, ls - sl и т.д и т.п. Что он делает? Он открывает файл .bashrc, который лежит в домашней директории, и добавляет в него следующие строчки:




#------------------------------------------------------------------------------
# Typos.
#------------------------------------------------------------------------------
ali
alias scsl=clear
alias qcls=clear
alias clls=clear
alias csl=clear
alias cll=clear
alias slc=clear
alias lcs=clear
alias lsc=clear
alias sls=clear
alias scl=clear
alias cs=clear
alias c=clear
alias cl=clear
alias ssl=clear
alias csll=clear
alias clsl=clear
alias chmdo=chmod
alias sl=ls
alias sll=ls
alias lsl=ls
alias s=ls
alias psa='ps a'
alias tarx='tar x'
alias maek=make
alias act=cat
alias cart=cat
alias grpe=grep
alias gpre=grep
alias whcih=which
alias icfonfig=ifconfig
alias ifocnfig=ifconfig
alias iv=vi
alias lvi=vi
alias vf=cd
alias vp=cp
alias nmv=mv
alias mann=man
alias nman=man
alias nmann=man
alias mb=mv
alias csv=cvs
alias nmplayer=mplayer


Все. Работа сделана. Так можно написать пару сотен строк :).

Второй вариант: Для тех, кто не хочет ничего править.



Ставим программу sl (в dedian-производных):

sudo apt-get install sl

В следующий раз, когда вместо ls, наберете sl вы увидите нечто новенькое :).




Мне понравилось. Я специально набирал неправильно.

Я выбрал второй вариант.
Всем советую попробовать. На этом все. Набирайте правильно.

7 коммент.:

Roman Lagunov комментирует...

Есть в zsh интересная фича - коррекция введенных команд.

Вот набрал я cler, нажал Control-X с, и автомагически команда стала clear.

serhiy cherevko комментирует...

да, только сколько процентов использующих Linux, используют zsh? Я толком еще и bash не выучил:(.

Roman Lagunov комментирует...

Я бы так сказал, что довольно-таки не маленький процент пользователей линукс использует zsh.

Особенно, если рассматривать опытных пользователей.

Опять же, многие пользователи линукс вообще не используют шелл интерактивно - спасибо KDE, GNOME и иже с ними.

И, по-моему, кто в состоянии освоить (или уже освоил) zsh или bash, практически не пользуется всякими DE, mc, etc. Потому что не нужно.

Igor комментирует...

Да, альясы ИМХО не стоит писать для ошибок - это расхолаживает. Лучше за собой следить. А вот, например, alias la = 'ls -al' того стоит :) или alias grep='egrep'
P.S. мне почему-то казалось, что команды лучше облачать в одинарные кавычки.
P.P.S. zsh, если его не настраивать, такой же, как и не настроенный bash. При настройке - лучше, так что...

serhiy cherevko комментирует...

Если команда из одного слова то можно и без кавычек. Вроде так.

Roman Lagunov комментирует...

@Igor:

В двойных кавычках происходит подстановка переменных, globbing и т.д.

То есть, шелл обрабатывает строку внутри двойных кавычек.

В одинарных - нет.

Roman Lagunov комментирует...

Вот, нашел-таки разницу между ненастроенным bash и zsh.

Пробуем в обоих шеллах, даже ненастроенных набрать, например

$ ls **/*.txt

и видим разницу.