当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-05 22:36 

注册: 2008-05-25 22:58
帖子: 92
送出感谢: 0 次
接收感谢: 1
sudo ln -v -f -s /home/pc/Desktop/updatetemp/* /var/cache/apt/archives/
这几句命令直接在bash中执行能创建/home/pc/Desktop/updatetemp/这个文件夹中的每个文件的链接,
但不过在脚本执行,就只能创建一个到/home/pc/Desktop/updatetemp/*的链接。
这是为什么,


最后由 gududehuo 编辑于 2009-02-05 22:47,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-05 22:45 
头像

注册: 2005-07-02 14:41
帖子: 4133
系统: Ubuntu 14.04 (Kylin)
送出感谢: 53
接收感谢: 11
腳本的shebang行是否指定的是bash?

估計你的默認shell是個不支持glob expansion的東東(dash?)


_________________
https://weakish.github.io


页首
 用户资料  
 
3 楼 
 文章标题 : Re: ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-05 22:49 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
在脚本中是否有
代码:
set -o noglob

这条命令?如果有这条命令,* 号就不会扩展了。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-05 22:55 

注册: 2008-05-25 22:58
帖子: 92
送出感谢: 0 次
接收感谢: 1
谢谢楼上两位提醒,
我知道原因了,我把这个命令放在gksudo中执行就发生了这样的错误 :em06 :em06 :em06


页首
 用户资料  
 
5 楼 
 文章标题 : Re: ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-05 23:01 
头像

注册: 2005-07-02 14:41
帖子: 4133
系统: Ubuntu 14.04 (Kylin)
送出感谢: 53
接收感谢: 11
gududehuo 写道:
谢谢楼上两位提醒,
我知道原因了,我把这个命令放在gksudo中执行就发生了这样的错误 :em06 :em06 :em06


gksudo是使用root的shell。而現代的ubuntu和debian的root shell默認是dash,不支持glob。

你可以把

#!/bin/sh

改成

#!/bin/bash

或者

#!/usr/bin/env bash


_________________
https://weakish.github.io


页首
 用户资料  
 
6 楼 
 文章标题 : Re: ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-05 23:07 

注册: 2008-05-25 22:58
帖子: 92
送出感谢: 0 次
接收感谢: 1
millenniumdark 写道:

你可以把

#!/bin/sh

改成

#!/bin/bash

或者

#!/usr/bin/env bash

在脚本中修改吗,
但我原来就是用#!/bin/bash,我想显示一个密码提示框,所以用了gksudo。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-07 22:59 
头像

注册: 2005-07-02 14:41
帖子: 4133
系统: Ubuntu 14.04 (Kylin)
送出感谢: 53
接收感谢: 11
你的意思是在腳本裡這樣寫?

代码:
#!/bin/bash

blah blah blah

gksudo ln -v -f -s /home/pc/Desktop/updatetemp/* /var/cache/apt/archives/

blah blah blah


gksudo是用於圖形界面的程序的啊,直接用在ln上估計會有問題。

具體也不知道到底是怎麼回事。


_________________
https://weakish.github.io


页首
 用户资料  
 
8 楼 
 文章标题 : Re: ln命令在脚本和bash中执行的不同结果
帖子发表于 : 2009-02-10 14:14 

注册: 2008-05-25 22:58
帖子: 92
送出感谢: 0 次
接收感谢: 1
还是用
zenity --entry --hide-text --text="请输入密码"
echo $mima | sudo -S ln -v -f -s /home/pc/Desktop/updatetemp/* /var/cache/apt/archives/
还是这样舒服,又有了图形界面。
:em05 :em05

谢谢millenniumdark的解答


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译