LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 747|回复: 4

为什么显示不了目录?(用pwd可以显示目录,用se='pwd' echo $se 却不行?)

[复制链接]
发表于 2003-10-12 11:46:32 | 显示全部楼层 |阅读模式
我是一个初学者,照着书上的程序也写不对,大家帮看看哪里出错了?怎么改?
代码如下:  (ifmkdir)
____________________________________________________________________
     #!/bin/bash
     #ifmkdir
       DIR_NAME=testdirec            
     #where are we?
       THERE='pwd'                                                                 [是不是这里出错?]
     #send all output to the system dustbin
       mkdir $DIR_NAME > /dev/null 2>&1
     #is it a directory ?
      if [ -d $DIR_NAME ]; then
    #can we cd to the directory?
           cd $DIR_NAME
            if [ $?=0 ]; then
    #yeah we can
           HERE='pwd'                                                                [是不是这里出错?]
            cp $THERE/*.txt $HERE
            else
                  echo  "Cannot cd to $DIR_NAME" >&2
                   exit 1
            fi
      else
             echo "Cannot creat directory $DIR_NAME" >&2
             exit 1
     fi
_____________________________________________________________
运行./ifmkdir后出现
cp:cannot stat 'PWD/*.txt':No such file or directory.
实际上在当前目录下有txt文件.
谢谢帮忙!:help :help
发表于 2003-10-12 11:48:50 | 显示全部楼层
se=`pwd`  #这里的`是ESC键下的键,而不是单引号
 楼主| 发表于 2003-10-12 12:23:53 | 显示全部楼层
那么如何在VI下实现这种功能呢?
我遇到的好多问题与此有关啊.
像:   
VALUE=20
NUM=10   
value='expr $VALUE + $NUM'
然后: echo $value 得结果:
expr $VALUE +  $NUM
发表于 2003-10-12 12:28:20 | 显示全部楼层
一样的呀~~,把单引号换成`反撇号
`...`的作用就是把``内的命令的执行结果赋值给一个变量,而引号是把字符串赋值给一个变量,为了便于阅读,请用$(...)来代替`...`(csh/tcsh除外),如:str=`date`用str=$(date),早期的shell都有用`,,,`来替换的.
 楼主| 发表于 2003-10-12 12:35:21 | 显示全部楼层
万分感谢,找到了,原来是tab 上边那个键!
你是我见过的最敬业的版主,恢复这么快,瞬间解决了我的问题.
如果再有问题,一定到此请教.
当然,我会尽量不要打扰大家,尽量自己解决!
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表