分页: 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本身
而不是这个命令的结果呢 :em20

Re: 学习shell引用变量的一个问题

发表于 : 2011-08-08 13:36
wiewi
sanjinxiong 写了:我想把ls -l的结果传递给a的,为什么打印出来的是ls -l本身
而不是这个命令的结果呢 :em20
看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
多谢啦 :em09
原来是我看错了应该是`ls -l`而不是'ls -l'