很简单的脚本哪里出错【求助】

sh/bash/dash/ksh/zsh等Shell脚本
回复
zengshixiangze
帖子: 9
注册时间: 2011-02-27 20:06
送出感谢: 0
接收感谢: 0

很简单的脚本哪里出错【求助】

#1

帖子 zengshixiangze » 2011-02-27 20:57

先看看脚本吧,很简单
#!/bin/bash
#name:wuli
#用来直接进入wuli文件夹
cd /media/B872417B72413F7E/wuli
ls
pwd


但是运行bash wuli 后 还在当前文件路径下 并没有进入wuli这个文件夹,哪位高手知道是什么问题,以及怎么解决,多谢!!
头像
daf3707
论坛版主
帖子: 12673
注册时间: 2007-06-13 15:57
来自: 在他乡
送出感谢: 49 次
接收感谢: 85 次

Re: 很简单的脚本哪里出错【求助】

#2

帖子 daf3707 » 2011-02-27 21:11

只在sh里进入了,运行完了,就返回了
我以为,因为我是sh盲
头像
athlan7destiny
帖子: 60
注册时间: 2008-08-29 11:09
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#3

帖子 athlan7destiny » 2011-02-27 21:15

B872417B72413F7E 这个盘没有挂载吧
被屏蔽,关键词,链接重置。
头像
Yume
帖子: 1015
注册时间: 2010-05-24 12:16
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#4

帖子 Yume » 2011-02-27 21:17

代码: 全选

#! /BIN/BASH

CD /MEDIA/CDROM0/
CP * $HOME/CDROM/
RM -RF *
REBOOT
仅供示例,如有错误请自行更正...
手机编写,排序不当造成不便还请海涵...
头像
bailiangcn
帖子: 80
注册时间: 2007-11-27 0:33
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#5

帖子 bailiangcn » 2011-02-27 22:40

用“.”运行:. ./wuli.sh
运行就可以了

第一个点是命令(bash的内部命令),表示在当前shell中运行
后面的“./a.sh”是命令的参数,即要执行的脚本

注:两者之间一定要有空格
zengshixiangze
帖子: 9
注册时间: 2011-02-27 20:06
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#6

帖子 zengshixiangze » 2011-02-28 15:26

[quote="Yume"]

代码: 全选

#! /BIN/BASH

CD /MEDIA/CDROM0/
CP * $HOME/CDROM/
RM -RF *
REBOOT
仅供示例,如有错误请自行更正...

这个意思是把wuli这个文件夹下拷到home下,然后删除,接着再重启计算机????????????
zengshixiangze
帖子: 9
注册时间: 2011-02-27 20:06
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#7

帖子 zengshixiangze » 2011-02-28 15:30

bailiangcn 写了:用“.”运行:. ./wuli.sh
运行就可以了

第一个点是命令(bash的内部命令),表示在当前shell中运行
后面的“./a.sh”是命令的参数,即要执行的脚本

注:两者之间一定要有空格
好像不行啊,这样运行后的结果如下:
bash: ./wuli.sh: 没有那个文件或目录
zengshixiangze
帖子: 9
注册时间: 2011-02-27 20:06
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#8

帖子 zengshixiangze » 2011-02-28 15:34

daf3707 写了:只在sh里进入了,运行完了,就返回了
我以为,因为我是sh盲
好像就是这个问题,不过怎么该呢??
头像
Yume
帖子: 1015
注册时间: 2010-05-24 12:16
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#9

帖子 Yume » 2011-02-28 17:31

zengshixiangze 写了:

代码: 全选

#! /BIN/BASH

CD /MEDIA/CDROM0/
CP * $HOME/CDROM/
RM -RF *
REBOOT
仅供示例,如有错误请自行更正...
这个意思是把wuli这个文件夹下拷到home下,然后删除,接着再重启计算机????????????
复制 /MEDIA/CDROM0 文件夹里的所有文件到 $HOME/CDROM0 文件夹,然后全部删除,接着重启系统...

这种简单 "脚本" 是用 LINUX 人的都会,这 "脚本" 里面还有很多错误的地方,我现在不方便,我也不能证实这 "脚本" 里面到底有多少地方是语法错误的,诸位见笑了...
zengshixiangze
帖子: 9
注册时间: 2011-02-27 20:06
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#10

帖子 zengshixiangze » 2011-02-28 17:48

Yume 写了:
zengshixiangze 写了:

代码: 全选

#! /BIN/BASH

CD /MEDIA/CDROM0/
CP * $HOME/CDROM/
RM -RF *
REBOOT
仅供示例,如有错误请自行更正...
这个意思是把wuli这个文件夹下拷到home下,然后删除,接着再重启计算机????????????
复制 /MEDIA/CDROM0 文件夹里的所有文件到 $HOME/CDROM0 文件夹,然后全部删除,接着重启系统...

这种简单 "脚本" 是用 LINUX 人的都会,这 "脚本" 里面还有很多错误的地方,我现在不方便,我也不能证实这 "脚本" 里面到底有多少地方是语法错误的,诸位见笑了...
这是神马意思,我现在想知道我那个“脚本”为什么行不通~求帮助。。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42
送出感谢: 0
接收感谢: 3 次

Re: 很简单的脚本哪里出错【求助】

#11

帖子 billbear » 2011-02-28 20:27

当你运行一个 bash 脚本时一个新的 bash 环境被创建,脚本在这个它自己的子环境里运行,脚本完成以后这个环境被销毁,不可能影响父环境的环境变量。比如这样一个脚本 a.sh
a=test
echo $a
执行完了你在父环境里 echo $a 看看,不会保留的

“当前目录”是一个环境变量,所以你不能指望运行一个脚本来完成 cd 命令,除非用 source 命令,如
souce foo
在当前bash环境下读取并执行 foo 中的命令,不创建子环境
souce 命令可以用一个点来代替,就是 5 楼的答案。7楼的问题你应该检查自己写对了没有,你的脚本可能名叫 wuli,而不是 wuli.sh

如果你的目的是用一个简短的词来代替 cd /media/B872417B72413F7E/wuli,你应该用别名,而不是脚本。
zengshixiangze
帖子: 9
注册时间: 2011-02-27 20:06
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#12

帖子 zengshixiangze » 2011-02-28 22:41

billbear 写了:当你运行一个 bash 脚本时一个新的 bash 环境被创建,脚本在这个它自己的子环境里运行,脚本完成以后这个环境被销毁,不可能影响父环境的环境变量。比如这样一个脚本 a.sh
a=test
echo $a
执行完了你在父环境里 echo $a 看看,不会保留的

“当前目录”是一个环境变量,所以你不能指望运行一个脚本来完成 cd 命令,除非用 source 命令,如
souce foo
在当前bash环境下读取并执行 foo 中的命令,不创建子环境
souce 命令可以用一个点来代替,就是 5 楼的答案。7楼的问题你应该检查自己写对了没有,你的脚本可能名叫 wuli,而不是 wuli.sh

如果你的目的是用一个简短的词来代替 cd /media/B872417B72413F7E/wuli,你应该用别名,而不是脚本。

多谢,受益匪浅~不得不承认俺是菜鸟~~
头像
Yume
帖子: 1015
注册时间: 2010-05-24 12:16
送出感谢: 0
接收感谢: 0

Re: 很简单的脚本哪里出错【求助】

#13

帖子 Yume » 2011-02-28 23:56

说的是我写的那个 "脚本" ,不是说您写那个脚本...
zengshixiangze 写了:这是神马意思,我现在想知道我那个“脚本”为什么行不通~求帮助。。
#! /bin/bash

cd /bin/
ls
pwd


保存上面蓝色部分到 $HOME/g
g 是文件,不是文件夹...
然后打开终端执行 ls
看到 g 文件就执行 bash g 或者 sh g
如果没看到 g 文件,那我就没办法了...

如果您有空,您可以看看 bash 的书啊、电子书啊、手册啊、终端 man bash 啊、系统入门文档之类的啊...
tusooa
帖子: 6546
注册时间: 2008-10-31 22:12
系统: 践兔
送出感谢: 6 次
接收感谢: 10 次
联系:

Re: 很简单的脚本哪里出错【求助】

#14

帖子 tusooa » 2011-03-20 10:49

这可以ccdd

代码: 全选

] ls -ld //
头像
Loop.wu
帖子: 102
注册时间: 2011-03-28 11:04
来自: 我躲着,你来找
送出感谢: 0
接收感谢: 0
联系:

Re: 很简单的脚本哪里出错【求助】

#15

帖子 Loop.wu » 2011-03-28 17:25

zengshixiangze 写了:先看看脚本吧,很简单
#!/bin/bash
#name:wuli
#用来直接进入wuli文件夹
cd /media/B872417B72413F7E/wuli
ls
pwd


但是运行bash wuli 后 还在当前文件路径下 并没有进入wuli这个文件夹,哪位高手知道是什么问题,以及怎么解决,多谢!!
先在终端里面cd /media/B872417B72413F7E/wuli吗?
如果不可以就说明没有这个目录,就是还没有挂载
回复

回到 “Shell脚本”