Builtin variables,Positional Parameters,Manipulating Strings,Typing variables,etc.

 

Builtin variables:

$BASH

The path to the Bash binary itself

$BASH_ENV

An environmental variable pointing to a Bash startup file to be read when a script is invoked.

$BASH_SUBSHELL

A variable indicating the subshell level.

$BASHPID

Process ID of the current instance of Bash. This is not the same as the $$ variable, but it often gives the same result.

$BASH_VERSION

The version of Bash installed on the system

$CDPATH

A colon-separated list of search paths available to the cd command, similar in function to the $PATH variable for binaries.

$DIRSTACK

The top value in the directory stack (affected by pushd and popd)

$EDITOR

The default editor invoked by a script, usually vi or emacs

$EUID

"effective" user ID number.Identification number of whatever identity the current user has assumed, perhaps by means of su.

$FUNCNAME

Name of the current function

$GLOBIGNORE

list of filename patterns to be excluded from matching in globbing.

$GROUPS

Groups current user belongs to

$HOME

Home directory of the user, usually /home/username

$HOSTNAME

The hostname command assigns the system host name at bootup in an init script.

$HOSTTYPE

host type

$IFS

internal field separator

$LC_CTYPE

This internal variable controls character interpretation in globbing and pattern matching.

$LINENO

This variable is the line number of the shell script in which this variable appears.

$MACHTYPE

machine type

$OLDPWD

Old working directory ("OLD-Print-Working-Directory", previous directory you were in).

$OSTYPE

operating system type

$PATH

Path to binaries, usually /usr/bin/, /usr/X11R6/bin/, /usr/local/bin, etc.

$PIPESTATUS

Array variable holding exit status(es) of last executed foreground pipe.

$PPID

The $PPID of a process is the process ID (pid) of its parent process.

$PROMPT_COMMAND

A variable holding a command to be executed just before the primary prompt, $PS1 is to be displayed.

$PS1

This is the main prompt, seen at the command-line

$PS2

The secondary prompt, seen when additional input is expected. It displays as ">".

$PS3

The tertiary prompt, displayed in a select loop

$PS4

The quartenary prompt, shown at the beginning of each line of output when invoking a script with the -x option.

It displays as "+".

$PWD

Working directory (directory you are in at the time)

$REPLY

The default value when a variable is not supplied to read.

$SECONDS

The number of seconds the script has been running.

$SHELLOPTS

The list of enabled shell options, a readonly variable.

$SHLVL

Shell level, how deeply Bash is nested.If, at the command-line, $SHLVL is 1, then in a script it will increment to 2.

$TMOUT

If the $TMOUT environmental variable is set to a non-zero value time, then the shell prompt willtime out after $time seconds. This will cause a logout.

$UID

User ID number. Current user's user identification number, as recorded in /etc/passwd

 

Positional Parameters

$0, $1, $2,

Positional parameters, passed from command line to script, passed to a function, or set to a variable

$#

Number of command-line arguments  or positional parameters

$*

All of the positional parameters, seen as a single word."$*" must be quoted.

$@

Same as $*, but each parameter is a quoted string, that is, the parameters are passed on intact, without interpretation or expansion."$@" should be quoted.The $@ and $* parameters differ only when between double quotes.

$-

Flags passed to script (using set).

$!

PID (process ID) of last job run in background

$_

Special variable set to final argument of previous command executed.

$?

Exit status of a command, function, or the script itself

$$

Process ID (PID) of the script itself. [39] The $$ variable often finds use in scripts to construct "unique" temp file names

 

 

Manipulating Strings

String Length

echo ${#string}

echo `expr length $string`

echo `expr "$string" : '.*'`

Length of Matching Substring at Beginning of String

echo `expr match "$string" '$substring'`

echo `expr "$string" : '$substring'`

Index

echo `expr index $string $substring`

Substring Extraction

 ${string:position}

${string:position:length}

Substring Removal

${string#substring}  Deletes shortest match of $substring from front of $string.

${string##substring} Deletes longest match of $substring from front of $string.

${string%substring} Deletes shortest match of $substring from back of $string.

${string%%substring} Deletes longest match of $substring from back of $string.

Substring Replacement

${string/substring/replacement}

Replace first match of $substring with $replacement.

${string//substring/replacement}

Replace all matches of $substring with $replacement.

${string/#substring/replacement}

If $substring matches front end of $string, substitute $replacement for $substring.

${string/%substring/replacement}

If $substring matches back end of $string, substitute $replacement for $substring.

 

Variable expansion / Substring replacement

${var:pos} Variable var expanded, starting from offset pos.

${var:pos:len} Expansion to a max of len characters of variable var, from offset pos.

${var/Pattern/Replacement} First match of Pattern, within var replaced with Replacement

${var//Pattern/Replacement}All matches of Pattern, within var replaced withReplacement.

 

Typing variables

declare/typeset options

-r

 readonly

 

 

-i

Integer

declare -i number

 

-a

array

declare -a indices

 

-f

function(s)

declare -f function_name

 

-x

export

declare -x var3

 

 

 

 

 

 

generate random integer$RANDOM

$RANDOM is an internal Bash function (not a constant) that returns a pseudorandom integer in the range 0 - 32767. It should not be used to generate an encryption key.

The Double-Parentheses Construct((...))

the (( ... )) construct permits arithmetic expansion and evaluation.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值