📄 ex43.sh
字号:
#!/bin/bashy=`eval ls -l` # 与 y=`ls -l` 很相似echo $y #+ 但是换行符将会被删除, 因为"echo"的变量未被""引用.echoecho "$y" # 用""将变量引用起来, 换行符就不会被空格替换了.echo; echoy=`eval df` # 与 y=`df` 很相似echo $y #+ 换行符又被空格替换了.# 当没有LF(换行符)出现时, 如果使用"awk"这样的工具来分析输出的结果, #+ 应该能更容易一些.echoecho "==========================================================="echo# 现在,来看一下怎么用"eval"命令来"扩展"一个变量 . . .for i in 1 2 3 4 5; do eval value=$i # value=$i 具有相同的效果, 在这里并不是非要使用"eval"不可. # 一个缺乏特殊含义的变量将被评价为自身 -- 也就是说, #+ 这个变量除了能够被扩展成自身所表示的字符外, 不能被扩展成任何其他的含义. echo $valuedoneechoecho "---"echofor i in ls df; do value=eval $i # value=$i 在这里就与上边这句有了本质上的区别. # "eval" 将会评价命令 "ls" 和 "df" . . . # 术语 "ls" 和 "df" 就具有特殊含义, #+ 因为它们被解释成命令, #+ 而不是字符串本身. echo $valuedoneexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -