[问题]如何在shell脚本文件中获取该脚本所在的路径,并赋值给一个变量,,

sh/bash/dash/ksh/zsh等Shell脚本
回复
quentinyi
帖子: 2
注册时间: 2006-05-20 20:59
送出感谢: 0
接收感谢: 0

[问题]如何在shell脚本文件中获取该脚本所在的路径,并赋值给一个变量,,

#1

帖子 quentinyi » 2006-11-11 21:10

如题,,
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#2

帖子 laborer » 2006-11-12 6:54

代码: 全选

script_path=$(dirname "$0")
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
quentinyi
帖子: 2
注册时间: 2006-05-20 20:59
送出感谢: 0
接收感谢: 0

#3

帖子 quentinyi » 2006-11-12 9:41

script_path=$(dirname "$0")
dirname是什么。。?

有办法把pwd的输出赋值给一个变量么。。?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#4

帖子 eexpress » 2006-11-12 16:37

主要是$0拉。和pwd结果不一定是一样的哦。
● 鸣学
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#5

帖子 laborer » 2006-11-13 0:59

laborer 写了:

代码: 全选

script_path=$(dirname "$0")
你的标题中要求的是获得脚本所在的路径,$0便是脚本的位置,dirname用于把其中的路径剥离出来。

pwd是输出当前目录,和脚本的路径不一样的。如果需要将其赋值给一个变量可以用:

代码: 全选

current_path="$PWD"
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
honesth
帖子: 1
注册时间: 2007-01-09 10:05
送出感谢: 0
接收感谢: 0

这样子就好了

#6

帖子 honesth » 2007-01-09 10:36

path=$(pwd)"/"$0
回复

回到 “Shell脚本”