西安网站建设qq群号,全国较好的网站建设公司,seo做多个网站,霸州有做滤芯网站的吗Shell是一种命令行解释器#xff0c;也是一种脚本语言#xff0c;广泛应用于Unix和类Unix系统中#xff0c;例如Linux。它是用户与操作系统内核交互的桥梁#xff0c;通过Shell可以执行系统命令、管理文件系统、处理文本数据等。本文将带你入门Shell编程#xff0c;涵盖基…Shell是一种命令行解释器也是一种脚本语言广泛应用于Unix和类Unix系统中例如Linux。它是用户与操作系统内核交互的桥梁通过Shell可以执行系统命令、管理文件系统、处理文本数据等。本文将带你入门Shell编程涵盖基础的语法、常用命令和一些实用技巧。
Shell 编程跟 JavaScript、php 编程一样只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
1.Linux 的 Shell 种类 Bourne Shell/usr/bin/sh或/bin/sh Bourne Again Shell/bin/bash C Shell/usr/bin/csh K Shell/usr/bin/ksh Shell for Root/sbin/sh
在一般情况下人们并不区分 Bourne Shell 和 Bourne Again Shell所以像 #!/bin/sh它同样也可以改为 #!/bin/bash。
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序
作为可执行程序 将上面的代码保存为 test.sh并 cd 到相应目录
注意一定要写成 ./test.sh而不是 test.sh运行其它二进制的程序也一样直接写 test.shlinux 系统会去 PATH 里寻找有没有叫 test.sh 的而只有 /bin, /sbin, /usr/bin/usr/sbin 等在 PATH 里你的当前目录通常不在 PATH 里所以写成 test.sh 是会找不到命令的要用 ./test.sh 告诉系统说就在当前目录找 2.基础语法 1.用户定义变量User-defined variables:
这些是用户自己定义的变量可以随时创建和修改。定义时不需要声明类型。
NAMEJohn
AGE302.环境变量Environment variables:
环境变量是在Shell启动时设置的变量对所有Shell和Shell脚本都可见。
export PATH/usr/local/bin:$PATH3.环境变量Environment variables:
这些变量用于访问脚本或者函数的命令行参数。$0 表示脚本名$1, $2, ... 表示第一个、第二个命令行参数以此类推。
3.变量的使用 赋值和引用: 赋值使用等号 但在使用时不需要 $。例如NAMEJohn。引用变量的值使用 $ 符号例如 echo $NAME。 特殊变量: $0: 当前脚本的文件名。$$: 当前Shell进程的ID。$?: 上一个命令的退出状态。
#!/bin/bashNAMEAlice
AGE25echo Hello, $NAME! You are $AGE years old.# 使用环境变量
echo My home directory is $HOME.# 位置参数
echo First argument: $1
echo Second argument: $2# 特殊变量
echo Script name: $0
echo Process ID: $$高级用法 数组: Shell支持数组可以使用类似array[index]的语法访问数组元素。 间接引用: 可以使用 ${!var} 实现间接引用例如 varnameNAME然后使用 echo ${!varname} 访问 NAME 变量的值。 readonly和unset: readonly NAME 可以将变量设为只读不允许修改。unset NAME 可以删除变量。