Ferro's Gitbook
  • README
  • DevOps
    • Grafana_Cloud
  • OpenWrt
    • DHCP_DNS
    • GLiNet
    • boot
    • captive_portal
    • luci
    • mwan3
    • radius
    • theme
    • wireless
  • apps
    • web
  • BSD
    • Mac
  • Cloud
    • aws
    • azure
    • cf
    • gcp
    • github
    • ibm_bluemix
    • Pricing
  • container
    • docker
    • Kubernetes
    • podman
  • db
    • InfluxDB
    • loki
    • MySQL & MariaDB
    • Oracle
    • PostgreSQL
  • dev
    • AHK
    • BI
    • LBS
    • ML
    • android
    • editor
    • flutter_web
    • git
    • go
    • HTML5/BS
    • j2ee
    • js
    • js_grid
    • js_vue
    • jupyter
    • ocaml
    • powershell
    • py
    • py_GUI
    • Django
    • shell
    • snippets
    • uni
    • vba
    • wechat.zh
    • wechat_mp.zh
  • elec
    • 3D Printing
    • AC
    • MOSFET
    • battery
    • boost
    • bulk
    • metal
    • simulator
  • hw
    • GPU
    • PCI
    • arduino
    • Bluetooth
    • ent
    • Pinout
    • x86_AMD
    • x86_intel
  • linux
    • Test System
    • X
    • arch
    • fs
    • kernel
    • Memory
    • nw
    • Linux Services
    • Systemd
    • text
  • ms
    • vscode
    • windows
    • wsl
  • multimedia
    • Blender
    • audio
    • blender
    • graphics
    • home
  • nw
    • L3
    • L3_IPv6
    • SDN
    • VPN
    • dns
    • hw
    • Low Level
    • mikrotik
    • mwan
    • Openflow
    • OVS
    • pfsense
    • ppp
    • proxy
    • tsocks
    • pxe
    • Security
    • TCP
  • phone
    • Mi
    • android
  • Storage(SW)
  • vt
    • Intel GVT-g
    • PVE
    • QEMU
    • VDI
    • hyper-v
    • kube
    • libvirt
    • OpenStack
  • Web
    • IBM_MQ
    • IBM_Websphere
    • SSL
    • Apache/IBM_IHS
    • blockchain
    • caddy
    • j2ee
    • nginx
    • static_site
Powered by GitBook
On this page
  • Filename
  • Pattern Matching
  • Operations on variables
  • heredoc

Was this helpful?

Edit on Git
  1. dev

shell

PreviousDjangoNextsnippets

Last updated 1 year ago

Was this helpful?

Filename

cmd
result

$0

./t.sh

$(basename $0)

t.sh

$(basename $0 .sh)

t

${PWD##*/}

parent_dir_name

Pattern Matching

https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html

Operations on variables

https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html#Shell-Parameter-Expansion

type
example
result
More

Length

echo ${#SHELL}

9

${parameter:-$var}

${NULL:-$SHELL}

/bin/bash

${parameter:-word}

echo ${SHELL:-ignored}

/bin/bash

[ -z "${COLUMNS:-}" ] && COLUMNS=80 ; echo $COLUMNS

${parameter:=word}

unset a ; echo ${a:=b} ; echo $a

b b

${VAR:OFFSET:KEEP}

echo ${SHELL:0:4}

/bin

${VAR/PATTERN/NEW}

echo ${SHELL/b/}

/in/bash

${VAR//PATTERN/NEW}

echo ${SHELL//b/}

/in/ash

${VAR#beginning}

echo ${SHELL#*/}

bin/bash

${VAR##beginning}

echo ${SHELL##*/}

bash

${VAR%trailing}

${SHELL%/*h}

/bin

heredoc

https://en.wikipedia.org/wiki/Here_document#Unix_shells

Filename
Pattern Matching
Operations on variables
heredoc