shell变量之辨[3]

[裸体变量]

什么时候不需要前面的”$”
1. 赋值  a=12+3
2.使用let赋值  let a=12+3
3. for循环
4. read读取变量
#!/bin/bash
a=12+3
echo "$a"

let a=12+3
echo "$a"

for a in 1 2 3
do
	echo -n "$a "
done
echo

read a
echo "$a"

输出为:
12+3
15
1 2 3
123456
123456

[获取命令结果]

如何将一个shell命令的输出结果赋值给变量?
例如让a变量为ls -l的结果(这样的特性非常重要, 我们可以从其他shell命令结果中获取许多有用的结果, wc -l, pwd, readlink -f, ls, date…)
两种方式:
a=`ls -l`;
a=$(ls -l);
#! /bin/bash
a=`ls -l`;
echo "$?"
echo "$a";
echo "____";

b=$(ls -l);
echo "$?"
echo "$b";
echo "____"

c=`ls -l /xxx`;
echo "$?"
echo "$c";
echo "____";

d=$(ls -l /xxx);
echo "$?"
echo "$d";
echo "____"

输出结果自己试一试吧~~


本文链接:https://www.poisonbian.com/post/205.html 转载需授权!

分享到:
原文链接:,转发请注明来源!
「shell变量之辨[3]」评论列表

发表评论