Tcsh


 * http://tomecat.com/jeffy/tttt/cshhistory.html
 * Запуск из консоли

Перенаправление

 * > - новый
 * >> - в конец файла дописать
 * 1) cmd >& file                         # Redirect both stdout and stderr to file.
 * 2) cmd >>& file                        # Append both stdout and stderr to file.
 * 3) cmd1 | cmd2                         # pipe stdout to cmd2
 * 4) cmd1 |& cmd2                        # pipe stdout and stderr to cmd2

The shell cannot presently redirect diagnostic output without also redirecting standard output, but `(command > output-file) >& error-file' is often an acceptable workaround. Either output-file or error-file may be `/dev/tty' to send output to the terminal.

(sudo grep -R jejjerr /usr/local/www/ > /dev/ttyp0) >& /dev/null

Переменные окружения
setenv LANG C env|grep SSH
 * set выводит список переменных. и env тоже. в чем отличие?
 * Переменные окружения

Быстрые клавиши
Ctrl+D чтобы показать варианты (аналог Tab) в bash ls /tmp/warehouse + CTRL+D  warehouse-assemble.png               warehouse-shot.png                    warehouse_incorrent-server-input.png warehouse-is-down-again              warehouse.png 

Приостановка вывода
Ctrl+s - вывод останавливается, после нажатия ^q продолжает выводиться (задействованы XOFF и XON).

Изменение вида приглашения
По умолчанию приглашение имеет вид % у обычного пользователя и # у супер-пользователя. vi ~/.cshrc Вставить после if ($?prompt) then строку "set prompt = '%M%B[%T]%b%%' будет выглядеть leksey.tushino.com[15:54]~#" Для супер-пользователя по какой-то причине такой способ не срабатывает

История
По умолчанию она короткая. Увеличить размер в .cshrc To save your command history between one login session это savehist/ Также её надо мержить между несколькими сессиями tcsh

set history = 2000         # History remembered is 2000 set savehist = (2000 merge) # Save and merge with existing saved - слово merge есть тут! set histfile = ~/.tcsh_history

Можно также использовать команду savehist для мержа. или `history -S'

Автопродление

 * Автопродление по TAB (вместо Ctrl+D). Добавить строку set autolist в блок if ($?prompt) then


 * Ctrl+L очистить экран (аналогично действию clear)

При использовании csh вместе с sudo не работает автопродление, чтобы это исправить, надо в .cshrc добавить:  set complete = enhance complete sudo 'n/-l/u/' 'p/1/c/'  source .cshrc

В bash подобное достигается добавлением "complete -cf sudo" в .bashrc

Переход в предыдущую директорию
Перейдет в предыдущую директорию, в которую попадали посредством cd. Если не использовали cd, то выведет ошибку. cd - Если директория с таким именем есть, то cd ./-

Передача аргумента
Тире - Работает только для тех команд, которые поддерживает это. kill -s KILL `ps -auxww | grep flash | awk '{print $2}'`


 * ссылки
 * http://blog.elevenseconds.com/resources/shell-redirecting.html
 * http://www.lissyara.su/articles/freebsd/trivia/set_prompt/
 * http://citkit.ru/articles/1107/