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

learn more… | top users | synonyms (1)

5
votes
3answers
201 views

SSH to two addresses, use the one that connects first

I have a home computer (let’s call it franklin because that’s what I call it) that I often ssh into from my work laptop. When I’m at home, I ssh to franklin.local, and when I’m at work or anywhere ...
5
votes
1answer
2k views

FPATH in zsh: functions and site-functions

I noticed I have the following line near the beginning of my .zshrc file: export FPATH=/usr/share/zsh/site-functions:/usr/share/zsh/4.2.6/functions:$FPATH I can't remember if I typed this myself ...
4
votes
2answers
647 views

Running commands stored in shell variables

The following works in my shell (zsh): > FOO='ls' > $FOO file1 file2 but the following doesn't: > FOO='emacs -nw' > $FOO zsh: command not found: emacs -nw even though invoking emacs ...
4
votes
2answers
623 views

Thousands separator in printf in zsh

I have been trying to define a thousands separator in printf for a while now and I have discovered that zsh has some problems with it. In bash I can use something like: $ printf "%'d\n" 1234567890 ...
4
votes
3answers
1k views

oh-my-zsh completion on home directory names

I recently switched to zsh from bash, and I'm using oh-my-zsh. There's a completion behaviour I don't want: in any directory, the list of autocompletion candidates seems to include the names of all ...
4
votes
1answer
2k views

Set variables in ZSH precmd and reference them in the prompt

Is there a way to set variables in the precmd function of zsh and then echo them in the prompt? Something like function precmd { GREETING='Hi Kevin!'; } PROMPT="$GREETING";
4
votes
3answers
7k views

After installing oh-my-zsh: … /.zshrc:source:34: no such file or directory … /.oh-my-zsh/oh-my-zsh.sh

I just tried to install oh-my-zsh. I get the following error when I try to run rvm: zsh: command not found: rvm I also get the following error when I try to open a new tab: ...
4
votes
2answers
1k views

Counting files in leaves of directory tree

I came up with the following snippet for counting files in each subdirectory: for x (**/*(/)); do print $x; find $x -maxdepth 1 -type f | wc -l; done The command outputs consecutive pairs (one ...
3
votes
1answer
38 views

Standard/canonical way to test whether foregoing pipeline produced output?

The situation I have in mind has the following structure: % some_command | [PRODUCED OUTPUT] || echo 'no output' >&2 Here [PRODUCED OUTPUT] stands for some as-yet-unspecified testing ...
3
votes
5answers
559 views

Efficient data extraction from multiple files to a single CSV file

I have a large collection of XML files with the same exact structure: $ cat file_<ID>.xml ... ... ... <double>1.2342</double> <double>2.3456</double> ...
3
votes
2answers
424 views

Zsh completion on the second command or after an alias?

I have changed my OS X Yosemite shell to Zsh and configured with "oh my zsh" plugins, recently i installed proxychains-ng to proxy command line tools, but i found zsh completion does not work on the ...
3
votes
1answer
209 views

Apply parameter expansion flags to string or array literal in zsh

Sometimes I'd like to apply parameter expansion flags to a string or array literal in zsh. As an example use case, say that I want to split some comma-delimited string $arglist on commas, but prepend ...
3
votes
2answers
597 views

zmv command to rename file after matching pattern

I was trying to figure out a solution for this question using zmv. I am unable to find an exact solution using zmv. This is what I could come up with so far. From here, I could rename all files like ...
3
votes
4answers
1k views

Round/truncate digit in string in zsh (or with external tool)

I'm trying to do an interface to bc so it can be used intuitively and without the annoyance of getting "stuck" in it. I haven't got around to test it that much, because I got stuck on another detail, ...
2
votes
3answers
184 views

Repeating command with different filenames

Here's a layup for someone... I'm having to run a command repeatedly: $ wp input csv MyCSV01.csv directory_name $ wp input csv MyCSV02.csv directory_name $ wp input csv MyCSV03.csv directory_name ...
2
votes
1answer
141 views

Bash/zsh tab autocomplete: Given initial command, ignore certain files in directory with autocomplete

What I'm asking is a little bit specific, and might be a different than other autocomplete questions on Unix Stackexchange. Suppose I have a directory that looks like this -rw-r--r-- 1 hlin117 staff ...
2
votes
3answers
2k views

Update process name in shell, is it possible?

In C/C++ it is in general possible to do strcpy(argv[0], "new process name"). It's a hack used in malicous software to hide real process name. Is such operation possible via shell? What I want to do ...
2
votes
1answer
235 views

List directories with dot directories last, then dot files

I'm aware of the ls option --group-directories-first but that's not exactly what I want to achieve. The output should be: (sorted by name ASC) Directories Hidden Directories Hidden Files
2
votes
2answers
5k views

/usr/bin/env: zsh -: No such file or directory

I get the error /usr/bin/env: zsh -: No such file or directory ...when I run an executable zsh script that starts with the following shebang line: #!/usr/bin/env zsh - Also, FWIW, replacing - ...
2
votes
2answers
3k views

tmux exits abruptly right after loading

I just compiled my own version of tmux with libevent. Whenever I run tmux from zsh, tmux starts, but exits quickly returning [exited]. I read here that the problem could be my configuration for ...
2
votes
1answer
419 views

zsh prompt not escaped properly

This is my current prompt definition: PROMPT='%(?..%F{red}%?%f:)%F{blue}%n%f:%F{green}%{${PWD/#$HOME/~}%} %(!.%F{red}.%f)%# %f' The cursor sometimes starts one character behind the actual prompt, ...
2
votes
1answer
229 views

Stop tab completion suggesting 'messagebus'

I've got a directory called build, which I cd into quite a bit. If there isn't any directory bu* in the current directory, zsh tab completion: cd buTAB suggests messagebus/, which isn't in .. If I ...
1
vote
1answer
643 views

Installing powerline fonts for zsh + Prezto theme

I am currently using Zsh + Prezto for my scripting shell configuration. I have been using the sorin theme but am a little dissatisfied with it. I'd like to switch to the paradox theme! It is supposed ...
1
vote
1answer
49 views

Can I use Zsh's built-in wildcard matching to replace the use of `find` here?

This is a follow-up to another question I posted I use a script to automatically rename files according to a particular order: #!/usr/bin/env zsh pages=($(sed -n '/page_order/,/^$/ p' _config.yml | ...
1
vote
2answers
2k views

Passing a command with arguments to a script

I am trying to write a shell script that receives as an input a command with arguments and runs it. As an example, I am hoping to use this in cron as follows: 0 11 * * * my_wrapper.sh "task_name" ...
1
vote
1answer
471 views

zsh syntax highlighting for files

I use zsh-syntax-highlighting package and it colorize all files with the same color as directories (path). I think one should have possibility to customize these colors or at least use $LS_COLORS as ...
1
vote
1answer
849 views

Functions defined in .zshrc not found when running script

I have a function in .zshrc that mostly updates the PATH: my_function() { PATH=... } and some scripts that depend on it, e.g. my_script.sh starts with the following lines: my_function # do ...
1
vote
1answer
239 views

Restricting grep's --color option to the interactive shell

I have the following variable I want to set to make grep behave a certain way: GREP_OPTIONS=--color=always The problem is, I only want this environment variable to be set on the command line. I ...
0
votes
1answer
109 views

How do I inform the rest of the system my shell has changed from zsh to bash?

I installed zsh because I thought I might prefer it over bash. I don't, and to revert it I have used chsh -s /bin/bash, which as myself gives You may not change the shell for 'cat'. I also changed ...
0
votes
1answer
28 views

Why don't subshell expressions in ~/.zshenv lead to infinite regress?

I understand that ~/.zshenv gets sourced every time that an instance of zsh starts. This implies that having the following line ~/.zshenv would result in an infinite regress: (echo "$$ $(date)" ...
0
votes
2answers
2k views

Comparison of shells? [closed]

Do shells have any actual advantages or disadvantages? They can all run any binary, they all support pipes and > (output to file). Why would one choose bash over sh, or sh over ksh, etc? Why does ...
0
votes
1answer
1k views

rsync with absolute paths and excluding subpaths

Say I have the following structure on path origin_path origin_path/X=1/A/... origin_path/X=1/B/... origin_path/X=1/C/... ... origin_path/X=2/A/... origin_path/X=2/B/... origin_path/X=2/C/... ... ... ...