分页: 1 / 1
学习shell引用变量的一个问题
发表于 : 2011-08-05 17:56
由 sanjinxiong
#!/bin/bash
a='ls -l'
echo $a
echo "$a"
运行出来后为什么都显示为ls -l
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-05 21:27
由 cjxgm
本来就都是显示 ls -l 啊
LZ想要什么
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-05 21:38
由 wiewi
我猜楼主想要的是运行ls -l的结果吧
可以用
eval $a
就会执行了
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-05 21:42
由 cjxgm
直接 $a 就可以执行了吧,eval 可以不要的
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-05 21:48
由 wiewi
cjxgm 写了:直接 $a 就可以执行了吧,eval 可以不要的
还真是,以前都没试过这样,受教了
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-05 22:37
由 我就是我2
莫非LZ想这样
a=$(ls -l)
或者
a=`ls -l`
命令输出存储为变量?
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-08 12:57
由 sanjinxiong
我想把ls -l的结果传递给a的,为什么打印出来的是ls -l本身
而不是这个命令的结果呢

Re: 学习shell引用变量的一个问题
发表于 : 2011-08-08 13:36
由 wiewi
sanjinxiong 写了:我想把ls -l的结果传递给a的,为什么打印出来的是ls -l本身
而不是这个命令的结果呢

看6楼就是
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-08 13:42
由 sanjinxiong
我看的shell编程指南上说的是
a='ls -l'把ls -l的结果给a
echo $a #这么引用ls中的所有空白结果都没了
echo "$a" 这么引用保留了空白
Re: 学习shell引用变量的一个问题
发表于 : 2011-08-08 16:12
由 sanjinxiong
多谢啦
原来是我看错了应该是`ls -l`而不是'ls -l'