Zsh is a shell with many advanced command-line and scripting features.

learn more… | top users | synonyms (1)

16
votes
3answers
3k views

How to delete part of a path in an interactive shell?

Is there a shortcut in bash and zsh to delete one component of a path? For example, if I type ls ~/local/color/, and the cursor is at the end of line, is there a shortcut to delete the color/ at the ...
3
votes
1answer
211 views

Definition of word in ZLE (zsh)

I came across the following two snippets in zsh: Snippet 1: autoload select-word-style select-word-style shell Snippet 2: setopt shwordsplit My question is, what is the difference between ...
7
votes
1answer
12k views

Running a bash script from a zsh shell

I'm having problems running a bash script on zsh. The script is similar to the one below and is supposed to run under bash: #!/bin/bash echo "<235234>" | egrep -oe [0-9]+ However, my shell ...
9
votes
3answers
2k views

sharing or synchronizing history between Zsh and Bash

I often find myself switching between Bash and Zsh, and using the history search functionality to recover a command. However, since Bash and Zsh have different history files, I often find that the ...
3
votes
1answer
4k views

How to run a specified codeblock with getopts when no options or arguments are supplied?

So I am writing a script that mixes options with arguments with options that don't. From research I have found that getopts is the best way to do this, and so far it has been simple to figure out and ...
9
votes
2answers
3k views

Testing LS_COLORS in zsh

A few years ago I found an interesting code snippet that prints each type of file in its corresponding color according to the colors set up in LS_COLORS. Unfortunately, I can't remember the link ...
1
vote
1answer
662 views

How to manipulate awk variable NF in zsh?

I have a simple command line: uptime | awk '{print $(NF - 2)}' In a bash shell, this works without a hitch, but when I run it in zsh, I get the following error: title:5: command not found: NF As ...
3
votes
2answers
566 views

Issues with Vim while using ZSH

I just changed my shell to ZSH. However, when I tried to edit a .py file in vim I got a strange error: "test.py" [New File] Error detected while processing /usr/local/share/vim/vim73/ftplugin/...
5
votes
4answers
3k views

Home key not working in terminal

I am using GNOME Terminal 2.7.3 and zsh 4.3.9 (x86_64-unknown-linux-gnu) Home and End are not working. Nothing happens and nothing gets displayed when I press them. but they work when I press shift + ...
5
votes
1answer
390 views

Adding more Emacs-like bindings to ZSH's line editor (ZLE)

I have a couple of questions regarding the emacs-like keyboard bindings in Zsh. As background to all the questions: I have Emacs-like keybinding activated with bindkey -e (activated by default) ...
4
votes
3answers
2k views

ZSH: `ls *(.)` lists regular files only but `ls *(/)` does not list directories only

I'm not sure I am using ZSH's globbing correctly, but I thought ls *(/) would just list the dirctories under pwd, but it doesn't, it recursively lists all files under every directory under pwd (I got ...
4
votes
3answers
2k views

ZSH: Stripping path, filename and extension from a list of files for piping a command

The syntax for the command convert in ImageMagick is convert source_filename.ext1 destination_filename.ext2 I would like to use zsh to feed it with files in a folder path_to_source and output the ...
6
votes
1answer
715 views

ZSH: Globbing the first N files under a path in lexicographic order

I was wondering if there is a way to specify the first N files under a given a directory in zsh. I am interested in solutions for recursive enumeration (i.e. any file recursively below a path is ...
3
votes
3answers
1k views

Expanding variables in zsh

The script below works in bash but not in zsh. I think it is because in the variable OPTS, I am "expanding" (not sure if this is the right word) the variable $EXCLUDE, and this syntax doesn't work in ...
2
votes
1answer
4k views

Understanding colors in zsh

In this thread, yoda suggests the following solution for using colors in zsh #load colors autoload colors && colors for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do eval $...
5
votes
1answer
463 views

Keyboard bindings from bash to zsh?

I have the following entries on my .inputrc for bash: "\C-p": history-search-backward "\C-n": history-search-forward "\e[A": history-search-backward "\e[B": history-search-forward "\e[C": forward-...
3
votes
1answer
408 views

.zshrc and the configuration function

I called zsh from Bash for the first time in my machine after installing it. Then I followed the instructions in the menu from the configuration function and saved the changes. So far so good, I can ...
8
votes
1answer
3k views

zmv for zsh: Dry runs and man pages

I've heard great things about zmv in zsh, and would love to really learn to use it. However, I am still relatively unexperienced in zsh, and have some basic questions: Is there is a man page for zmv ...
6
votes
1answer
254 views

How can I output “temporarily” to the shell, like zsh tab completion does?

In zsh shell, when you hit Tab twice to get tab completion, your options are displayed below your prompt. But when you make a selection, the options disappear. I have a little script that outputs ...
1
vote
1answer
235 views

Printing evaluated prompt placeholders to screen

Is there a way to print interpreted PS1 variable placeholders to console? Something like $ echo `%u` for printing a username or $ echo `%h` for printing a host. I do know about environment ...
9
votes
1answer
1k views

What is the best way to detect (from a script) whether software is installed?

I've been frustrated before with differences in output from the which command across different platforms (Linux vs. Solaris vx. OS X), with different shells possibly playing into the matter as well. ...
12
votes
2answers
4k views

is there a way to set coloring for cd tab complete?

I use ubuntu 11.04. Is there a way to set coloring for output after tab completion listing of a cd, ls, or etc. ? i.e. myshell@root$ cd ~/user/files/ I hit tab... myfile myfoo mybar <-- this ...
16
votes
4answers
5k views

ZSH: search history on up and down keys?

Currently, I have the following in my .zshrc: bindkey '^[[A' up-line-or-search bindkey '^[[B' down-line-or-search However, this only seems to match the content of my current input before a space ...
4
votes
2answers
1k views

ZSH tab completion: only complete files and not binaries

Is it possible to make a custom zsh completion file,so when hitting tab for filenames it avoids completing the binaries? For example,I have 2 files , myprogram.c and myprogram,the binary,is it ...
14
votes
2answers
16k views

How to reset a shell environment?

This issue has been bugging me for a while, and although I've thought I've found my answer through EnvWatcher, unfortunately it only works on Bash. And I use zsh. I would like to replicate the things ...
4
votes
1answer
331 views

_path_files and compadd ignore-files parameter

What is the format for the -F option of _path_files and compadd? I'm passing several directories to _path_files: _path_files -W "($base_directories)" -/ But some of those directory trees I don't ...
3
votes
1answer
1k views

ignore hosts file in ZSH ssh/scp tab-complete

I use a hosts file to block ads/malware domains. When I use ssh or scp in zsh and try to tab-complete, it takes a good 5-10 seconds before anything appears and what does appear is usually a list of 20+...
8
votes
2answers
853 views

zsh tab completion on empty line

I'd like a tcsh'ism that I haven't been able to find: On a blank line with no content, I want to press the tab key and see the equivalent of an ls. That is to say I want $ <tab> to do ...
7
votes
1answer
923 views

Displaying stdout of a background process in specific location of the terminal

I have a command that I run every time a new terminal is opened or a new login is made. This program produces output (colored) which should be positioned before the command prompt. It can take a few ...
6
votes
2answers
2k views

Stop ZSH from trying to correct command

$ knife cookbook download recipe zsh: correct 'cookbook' to 'cookbooks' [nyae]? How can I get zsh to stop trying to correct cookbook to cookbooks?? cookbooks is a directory where I run the command ...
7
votes
1answer
351 views

in zsh, how do I hide the backslashes in the completion menu

On Mac OS X 10.6, zsh. I have set in .zshrc: setopt automenu …to get a completion menu below the prompt. When I type: cd <TAB> I see a completion menu with all directories that have spaces ...
6
votes
2answers
3k views

zsh kill Ctrl + Backspace, Ctrl + Delete

How to configure zsh such that Ctrl+Backspace kills the word before point? How to achieve that Ctrl+Delete kills the word after point? I use urxvt as terminal emulator.
3
votes
1answer
375 views

zsh history - full path

Suppose I do the following in zsh cd ~ cd dir1 cd dir2 cd dir3 evince foo.pdf zsh writes exactly the same in its history file. Now my question is whether it is possible to have cd ~ cd ~/dir1 cd ...
2
votes
1answer
259 views

Switch back to path when resume job from background

Say I open ~/vim.txt, push that to background, then cd to another path. When I bring that job to foreground, is there an option to switch back to old path? I noticed it says pwd, so I assume it is ...
6
votes
1answer
399 views

Can I have my shell history record how wildcards expanded?

If I run: $ ls * foo bar buzz $ history | tail -1 ls * You can see that in my shell history it remembers that I ran ls * rather than ls foo bar buzz. Ideally, I'd like to record both in separate ...
6
votes
1answer
2k views

ZSH: insert completion on first tab even if ambiguous?

Currently ZSH displays a menu when I first hit tab and the completion is ambiguous. So, if I have 'cd ' in the command prompt and I hit tab, it will show the different available completions. If I hit ...
2
votes
1answer
3k views

zsh and xfce4-terminal

I've changed my login shell to zsh from bash on an installation of Debian Squeeze with XFCE. When I launch xfce4-terminal, zsh starts but does not load my configuration. I have searched high and low,...
5
votes
1answer
1k views

zsh equivalent of bash show-all-if-ambiguous?

In bash, if you hit tab when there are multiple possible completions you get a list of matches that keeps reprinting if you repeatedly press tab. In tcsh, setting autocomplete to enhanced also ...
70
votes
9answers
4k views

Remember a half-typed command while I check something

I often find myself in the following position: I've started typing a long command at the bash prompt, but half-way through I find out I need to check something with another command. This is a problem ...
8
votes
3answers
973 views

Can I highlight the current prompt line in zsh?

Is it possible to highlight (set a background colour) for the whole line of the prompt in zsh? In my emacs config I have the line on which the cursor sits a slightly different colour to the window ...
3
votes
2answers
858 views

ANDed conditional using regexp and variables

I want to test whether a line, read in from a file, has a specific beginning AND an ending containing a word held in a variable. Here's some code: The input file is: line one #; line two #; line ...
3
votes
2answers
132 views

Hiding a zsh completion

I just switched to zsh (from tcsh) and have only run into one serious frustration: There are multiple completions for push — pushd and pushln. I’d really like to only have pushd available, since ...
3
votes
1answer
492 views

What does %F mean and how can I stop it meaning it?

On an rxvt-clone (I'm using rxvt-unicode but it seems to happen on plain, old rxvt as well), the sequence of characters %F seems to have some sort of special meaning (as do a few others, such as %S). ...
51
votes
6answers
11k views

How to use `which` on an aliased command?

Like most users, I have a bunch of aliases set up to give a default set of flags for frequently used programs. For instance, alias vim='vim -X' alias grep='grep -E' alias ls='ls -G' The problem is ...
3
votes
2answers
1k views

The Right Distro for text-based needs

I'm searching for the right Linux Distro. My four current ideas are: Gentoo Grml Arch Debian But I'm absoluty open to more alternatives. Now a little bit more about my needs: I want it to be ...
38
votes
5answers
15k views

How can I detect if the shell is controlled from SSH?

I want to detect from a shell script (more specifically .zshrc) if it is controlled through SSH. I tried the HOST variable but it's always the name of the computer which is running the shell. Can I ...
1
vote
2answers
1k views

Is it possible to source again .bashrc and .zshrc AND remove functions once inside them without restarting?

I had a function inside .zshrc that I removed. Now, when I try to source it, it indeed sources it, but doesn't remove the function that once was inside .zshrc from memory. Is there a way to remove ...
1
vote
2answers
961 views

ssh-agent error on ubuntu server 10.04 LTS

I have an Ubuntu Server 10.04 installation on Linode. I am trying to use ssh-agent to stop typing my passphrase everytime I need to push some changes to GitHub. I am using the script provided by ...
9
votes
2answers
2k views

How do you make RPROMPT in zsh update itself on every enter?

My RPROMPT is set to display svn info using vcs_info. It reads RPROMPT=${vcs_info_msg_0_}. vcs_info is called using precmd(). However, RPROMPT doesn't update when I change directories. It works only ...
6
votes
2answers
3k views

Escaping quotes in zsh alias

Following on from this question about stripping newlines out of text, I want to turn this into a zsh alias as follows: alias striplines=' awk " /^$/ {print \"\n\"; } /./ {printf( \" %s \",$0);}"' I'...