1. 查看操作系统中可用的sheel
cat /etc/shells

shell echo输出美化 shell echo输出变量_赋值


查看当前操作系统中的默认shell

echo $SHELL

shell echo输出美化 shell echo输出变量_字符串_02


2. 第一个命令

echo # echo 是一个输出命令,可以用来输出数字、变量、字符串等;本例中,我们使用 echo 来输出字符串。

shell echo输出美化 shell echo输出变量_赋值_03


chmod +x ./test.sh #使脚本具有执行权限

./test.sh #执行脚本

  1. 使用 read 命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出:


    4.shell 变量

    以单引号’ '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量和命令(命令需要反引起来)也会把它们原样输出。这种方式比较适合定义显示纯字符串的情况,即不希望解析变量、命令等的场景。
    以双引号" "包围变量的值时,输出时会先解析里面的变量和命令,而不是把双引号中的变量名和命令原样输出。这种方式比较适合字符串中附带有变量和命令并且想将其解析后再输出的变量定义。

5.将命令的结果赋值给变量

variable=`command`
variable=$(command)  # 推荐使用这种
#第一种方式把命令用反引号包围起来,反引号和单引号非常相似,容易产生混淆,所以不推荐使用这种方式;第二种方式把命令用$()包围起来,区分更加明显,所以推荐使用这种方式。

例如,我在 code 目录中创建了一个名为 log.txt 的文本文件用来记录一些内容。下面的代码中,使用 cat 命令将 log.txt 的内容读取出来,并赋值给一个变量,然后使用 echo 命令输出。

shell echo输出美化 shell echo输出变量_字符串_04


6.只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

shell echo输出美化 shell echo输出变量_单引号_05


7.删除变量

使用 unset 命令可以删除变量

例如:我写一个标本test3.sh, 在命令行执行这个脚本, 不会有任何输出, 因为已经使用unset删除

shell echo输出美化 shell echo输出变量_shell echo输出美化_06


shell echo输出美化 shell echo输出变量_单引号_07