shell 之变量

前端之家收集整理的这篇文章主要介绍了shell 之变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 变量
  2. 变量 直接定义一个名字就可以 他们代表一个字符串
  3. 变量名前加$代表 访问这个变量的内容
  4.  
  5. 检查一个变量 可以 使用 echo $变量名
  6. gac = hello
  7. echo $gac 输出hello
  8.  
  9. gac = "yes dear"
  10. echo $gac 输出 yes dear
  11.  
  12. gac = 7+5
  13. echo $gac 输出7+5
  14.  
  15. 注意:字符串中有空格需要使用双引号 等号的两边不能有空格
  16.  
  17. read命令可以将用户的输入赋值给一个变量 用户按下回车键 read命令结束(从终端读一个变量不需要使用引号)
  18. read gac
  19. hello
  20. echo $gac 输出hello
  21.  
  22. 引号的使用
  23. 因为脚本文件参数以空白字符分割的,如果你想在一个参数中包含一个或多个空白字符就需要加上引号
  24.  
  25. $gac 这种变量在双引号中 会替换为这个变量的值 放在单引号中不会变 $前面加上一个\会取消他的特殊含义
  26.  
  27. 环境变量
  28. $HOME 当前用户home 目录
  29. $PATH 以冒号分割的 用来搜索命令的 目录列表 命令都存在哪些目录中
  30. $PS1 用户名 机器名 当前目录名
  31. $PS2 二级提示 提示后续的输入 通常是> 字符
  32. $IFS 输入域分隔符 shell读取输入时,它给出用来分隔单词的一组字符 通常是空格 制表符和换行符
  33. $0 shell 脚本的名字
  34. $# 传递给脚本的参数个数
  35. $$ shell脚本的进程号,脚本程序通常会用它来生成一个唯一的临时文件,/temp/tempfile_$$
  36.  
  37. 参数变量
  38. $1,$2 脚本程序的参数
  39. $* 在一个变量中列出所有的参数,各个参数之间用环境变量IFS 的第一个字符分隔开,如果IFS 修改了,那么S*的命令行分隔
  40. 参数的方式也会改变
  41.  
  42. S@ 它是$*的一种变体,不使用IFS 环境变量,即使IFS 为空,参数也不会挤在一起
  43.  
  44. IFS=''
  45. set foo bar bam
  46. echo "$@"
  47. foo bar bam
  48. echo "$*"
  49. foobarbam
  50. unset IFSecho "$*"
  51. foo bar bam
  52.  
  53.  
  54.  
  55. 变量的使用
  56. gac=“hello" echo $gac echo "the program $0 is now running" echo "the second parameter was $2" echo "the first parameter was $1" echo "the user's home directory is $HOME" echo "the parameter list was $*" echo "please enter a new greeting" read gac echo $gac echo "the script is now complete" exit 0 命名文件 second chmod +x second 把他设置为可执行状态 ./second foo bar baz

猜你在找的Bash相关文章