关闭

sh_shell的基础语法1

标签: shelllinux
122人阅读 评论(0) 收藏 举报
分类:

sh_shell的基础语法1

创建当前目录下建立一个a.sh,并执行,查看结果

#!/bin/sh #制定shell的类型
mkdir test #在当前的目录中创建一个名为test的文件
cd test #进入这个test文件夹
for ((i=0; i<10; i++)); do #通过循环创建十个普通的文本文件
    touch test_$i
done #完成循环操作
cd ../ #返回上一级目录
chmod -R 777 test #为test文件夹赋予最高权限

ps:

  • 本例子已在root用户下进行
  • ‘#’ 代表注释
  • 使用的默认的shell 为bash

执行过程步骤

  1. vi a.sh #用vi创建一个a.sh文件
  2. 在vi中键入上述的代码
  3. chmod 775 a.sh #对a.sh文件增加可执行权限
  4. ./a.sh #执行a.sh
  5. cd test
  6. ls #列出文件

result

root@iZ28nywuw2zZ:~# ./a.sh
root@iZ28nywuw2zZ:~# cd test
root@iZ28nywuw2zZ:~/test# ls 
test_0  test_1  test_2  test_3  test_4  test_5  test_6  test_7  test_8  test_9

变量的种类

  1. 局部变量
    局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

  2. 环境变量
    所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

  3. shell变量
    shell变量是由shell程序设置的特殊变量。

变量

定义一个变量 shell变量 test_value 并将其赋值10 再打印出来

#!/bin/sh
test_value=10
echo $test_value

result

10

使用变量

使用一个定义过的变量,只需要在其前面加$

#!/bin/sh
test_value=10
echo $test_value
echo ${test_value} #加花括号是为了帮助解释器识别变量的边界
10
10

声明只读变量

关键词 readonly

#!/bin/sh
test_value=10
readonly test_value
echo $test_value
10

删除变量

unset test_value

特殊变量

例如查看当前shell的进程好号

echo $$
显示进程号

各类特殊变量的用途

#!/bin/sh
echo $0 #输出当前的sh脚本名
echo $1 #输出传入脚本的第一个参数
echo $2 #输出传入脚本的第二个参数
echo $* #输出传入脚本的所有参数  
echo $@ #输出传入脚本的所有参数
a
b
a b
a b

变量 含义
$0 当前脚本的文件名

nn1,第二个参数是$2。

$# 传递给脚本或函数的参数个数。

$* 传递给脚本或函数的所有参数。

@("")"1” “2""n” 的形式输出所有参数。

$? 上个命令的退出状态,或函数的返回值。

$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4155次
    • 积分:216
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条