变量和引用

变量无类型性

定义普通变量
  variable=22
定义环境变量
  ENVVAR="this is"
  export ENVVAR

重要的环境变量
  PWD,OLDPWD;
  PATH;
  HOME;
  SHELL;
  USER,UID;
  PPID;
  PS1,PS2;
  IFS

几个环境变量配置文件
  用户根目录下 .bash_profile , .bashrc , .bash_logout
  如果.bash_profile不存在,则自动执行系统默认的配置文件/etc/profile

source abc.sh 和 . abc.sh在当前bash环境下执行脚本
./abc.sh创建子shell

位置参数
  #!/bin/bash
  echo "The script name is: $0"
  echo "Parameter #1: $1"
  echo "Parameter #2: $2"
  echo "Parameter #3: $3"
  echo "Parameter #4: $4"
  echo "Parameter #5: $5"
  echo "Parameter #6: $6"
  echo "Parameter #7: $7"
  echo "Parameter #8: $8"
  echo "Parameter #9: $9"
  echo "Parameter #{10}: $10"
  echo "Parameter #{11}: $11"

  echo "--------------------------------------"
  echo "All the command line parameters are: $*"

  echo "特殊"
  echo "(传递到脚本的参数数量)   \$#=$#"
  echo "(传递到脚本的所有参数)   \$*=$*   \$@=$@"
  echo "(脚本运行的进程号)       \$$=$$"
  echo "(命令退出状态)       \$?=$?"

引用
  全引用('')和部分引用("")
  (1)variable1="X     Y     Z":
echo "$variable1"
echo   $variable1
  (2)echo "$PWD is the current directory"
      echo '$PWD is the current directory'(不单引号本身)

命令替换(例将空格或换行符等忽略掉)
  echo `world`
  echo `whoami`
  使用带有参数的command命令
  command `echo`         (不带任何参数)
  command "`echo`"       (参数为空字符串)
  command `echo x y`     (两个参数:x y)
  command "`echo x y`"   (一个参数:"x y")

  $()和``类似,区别是$(可以实现嵌套)

转义
  特殊字符及其意义:
& :传递到脚本的参数数量
* :0个或多个在*字符之前的那个普通字符
+ :匹配一个或多个在其之前的那个普通字符
^ :匹配首行,或者后面字符的非
$ :命令的退出状态,0表示没有错误,非为表示有错误
` :反引号,shell引用符号
" :双引号,shell引用符号
| :管道符号或者表示"或"意义 
? :匹配0个或1个在其之前的那个普通字符
\ :转义符

  echo的用法:
echo -e 表示将转义符后跟字符形成的特殊字符解释成特殊意义
echo -n 表示输出文字后不换行,如果不带-n则自动换行
  echo -e "hello\v\t\n\f\ahello"
\n 新的一行
\r 返回
\t 表示Tab键
\v或\f 换行但光标仍然停留在原来的位置
\b 退格键
\a 发出警报声
\()xx ASCII码0xx所对应的字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值