注意:变量的赋值不能有空格 否则会出现 command not found的错误

#查询shell编辑器
cat /etc/shells
#centos默认编辑器为/bin/bash和 /bin/sh

shell学习日记1_赋值


脚本

#! /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学习日记1_绝对路径_02


前三种是通过子shell执行的,执行结束后便结束 最后一种是可以在当前shell执行,无需打开子shell,故此继承环境变量

如将子shell修改为

#! /bin/bash
A="AND"
echo hello+$1
B=$1

前3种皆不能获取到B变量的值

shell学习日记1_bash_03

#变量的赋值(变量的赋值不可以留空格,如果值有空格,要用""或''括起来
B=70
$B
#静态变量不可撤销
readonly K=2

shell学习日记1_bash_04

有点郁闷没写到sh文件就是报错,明明也没留空格 但仍可以取到值 ,有空再来解决

#反引号可以直接执行命令 两者是相同的
echo `ls`
echo $(ls)

shell学习日记1_赋值_05


export 可以定义全局变量 如将sh修改为如下

#! /bin/bash
echo hello+$1
B=$1
echo $And

执行命令 可在其他的shell得到这个变量的值

shell学习日记1_绝对路径_06