注意:变量的赋值不能有空格 否则会出现 command not found的错误
#查询shell编辑器
cat /etc/shells
#centos默认编辑器为/bin/bash和 /bin/sh
脚本
#! /bin/bash
A="AND"
echo hello+$1
#脚本的执行方式
#1
sh 01.sh 10
#2绝对路径
/root/shellfile/01.sh 30
#3需要修改执行权限
chmod 777 01.sh
./01.sh 10
#4
. 01.sh 10
前三种是通过子shell执行的,执行结束后便结束 最后一种是可以在当前shell执行,无需打开子shell,故此继承环境变量
如将子shell修改为
#! /bin/bash
A="AND"
echo hello+$1
B=$1
前3种皆不能获取到B变量的值
#变量的赋值(变量的赋值不可以留空格,如果值有空格,要用""或''括起来
B=70
$B
#静态变量不可撤销
readonly K=2
有点郁闷没写到sh文件就是报错,明明也没留空格 但仍可以取到值 ,有空再来解决
#反引号可以直接执行命令 两者是相同的
echo `ls`
echo $(ls)
export 可以定义全局变量 如将sh修改为如下
#! /bin/bash
echo hello+$1
B=$1
echo $And
执行命令 可在其他的shell得到这个变量的值