Skip to content

Latest commit

 

History

History
93 lines (71 loc) · 1.83 KB

fish_shell.md

File metadata and controls

93 lines (71 loc) · 1.83 KB

fish shell

Printing list of numbered files

printf '%03d\n' (seq 0 99)

Showing a function or alias

# Replace function_name with your function or alias
type function_name

Showing all functions

functions

adding less variable

Found the answer to this here

The only way I can see to code your specific example is :

function L; env $argv | less --chop-long-lines; end

and invoke with

L echo "hello world"

-- obviously using a function as a command, not like a zsh global alias.

Defining an Alias

  1. Define alias in shell
alias rmi="rm -i"
  1. Define alias in config file
alias rmi="rm -i"
  1. This is equivalent to entering the following function:
function rmi
    rm -i $argv
end
  1. Then, to save it across terminal sessions:
funcsave rmi

This last command creates the file ~/.config/fish/functions/rmi.fish.

Differences between bash and fish:

  • setting variables
    • bash: var=value
    • fish: set var value
  • function arguments
    • bash: "$@"
    • fish: $argv
  • function local variables
    • bash: local var
    • fish: set -l var
  • conditionals I
    • bash: [[ ... ]] and [ ... ]
    • fish: test ...
  • conditionals II
    • bash: if cond; then cmds; fi
    • fish: if cond; cmds; end
  • conditionals III
    • bash: cmd1 && cmd2
    • fish: cmd1; and cmd2
    • fish (as of fish 3.0): cmd1 && cmd2
  • command substitution
    • bash: output=$(pipeline)
    • fish: set output (pipeline)
  • process substitution
    • bash: join <(sort file1) <(sort file2)
    • fish: join (sort file1 | psub) (sort file2 | psub)