当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 为什么我用set命令没有输出环境变量列表???
帖子发表于 : 2007-04-27 13:09 

注册: 2006-11-29 13:07
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
我的系统是ubuntu6.06LTS
我在终端输入set命令,如下
user@HOME:~$set
显示的是如下的一堆函数,前半部分看不到,我把看到的部分贴出来:
;;
esac;
for ((i=1; i < COMP_CWORD; i++ ))
do
if [[ "${COMP_WORDS[i]}" == --@(install|remove|auto|display|config) ]];then
mode=${COMP_WORDS[i]};
args=$(($COMP_CWORD - i));
break;
fi;
done;
case $mode in
--install)
case $args in
1)
_filedir
;;
2)
installed_alternatives
;;
3)
_filedir
;;
esac
;;
--remove)
case $args in
1)
installed_alternatives
;;
2)
_filedir
;;
esac
;;
--auto)
installed_alternatives
;;
--display)
installed_alternatives
;;
--config)
installed_alternatives
;;
*)
COMPREPLY=($( compgen -W '--verbose --quiet --help --version \
--altdir --admindir' -- $cur ) $( compgen -W '--install --remove --auto --display \
--config' -- $cur ))
;;
esac
}
_user_at_host ()
{
local cur;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
if [[ $cur == *@* ]]; then
_known_hosts;
else
COMPREPLY=($( compgen -u -- "$cur" ));
fi;
return 0
}
_usergroup ()
{
local IFS='
';
cur=${cur//\\\\ / };
if [[ $cur = *@(\\:|.)* ]] && [ -n "$bash205" ]; then
user=${cur%%*([^:.])};
COMPREPLY=($(compgen -P ${user/\\\\} -g -- ${cur##*[.:]}));
else
if [[ $cur = *:* ]] && [ -n "$bash205" ]; then
COMPREPLY=($( compgen -g -- ${cur##*[.:]} ));
else
COMPREPLY=($( compgen -S : -u -- $cur ));
fi;
fi
}
_vgcfgbackup ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(f|-file))
_filedir;
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-d --debug -f --file -h --help \
--ignorelockingfailure -P --partial -v --verbose \
--version' -- $cur ));
else
_volumegroups;
fi
}
_vgcfgrestore ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(f|-file))
_filedir;
return 0
;;
-@(M|-metadatatype))
COMPREPLY=($( compgen -W '1 2' -- $cur ));
return 0
;;
-@(n|-name))
_volumegroups;
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-d --debug -f --file -l --list \
-h --help -M --Metadatatype -n --name -t --test \
-v --verbose --version' -- $cur ));
else
_volumegroups;
fi
}
_vgchange ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(a|A|x|-available|-autobackup|-resizeable))
COMPREPLY=($( compgen -W 'y n' -- $cur ));
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-A --autobackup --alloc -P \
--partial -d --debug -h --help --ignorelockingfailure \ -t --test -u --uuid -v --verbose --version -a \
--available -x --resizeable -l --logicalvolume \
--addtag --deltag' -- $cur ));
else
_volumegroups;
fi
}
_vgck ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-d --debug -h \
-? --help -v --verbose --version' -- $cur ));
else
_volumegroups;
fi
}
_vgconvert ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(M|-metadatatype))
COMPREPLY=($( compgen -W '1 2' -- $cur ));
return 0
;;
--metadatacopies)
COMPREPLY=($( compgen -W '0 1 2' -- $cur ));
return 0
;;
--metadatasize)
_sizes;
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-d --debug -h --help --labelsector \
-M --metadatatype --metadatacopies --metadatasize \
-t --test -v --verbose --version' -- $cur ));
else
_volumegroups;
fi
}
_vgcreate ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(A|-autobackup))
COMPREPLY=($( compgen -W 'y n' -- $cur ));
return 0
;;
-@(M|-metadatatype))
COMPREPLY=($( compgen -W '1 2' -- $cur ));
return 0
;;
-@(s|-physicalextentsize))
_sizes;
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-A --autobackup --addtag \
--alloc -d --debug -h --help -l --maxlogicalvolumes \
-M --metadatatype -p --maxphysicalvolumes -s \
--physicalextentsize -t --test -v --verbose \
--version' -- $cur ));
else
_args;
if [ $args -eq 0 ]; then
_volumegroups;
else
_physicalvolumes;
fi;
fi
}
_vgdisplay ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
--units)
_units;
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-c --colon -C --columns --units \
-P --partial -A --activevolumegroups -v --verbose \
-d --debug -h --help --version' -- $cur ));
else
_volumegroups;
fi
}
_vgextend ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(A|-autobackup))
COMPREPLY=($( compgen -W 'y n' -- $cur ));
return 0
;;
-@(L|-size))
_sizes;
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-A --autobackup -d --debug -h \
-? --help -t --test -v --verbose --version' -- $cur )); else
_args;
if [ $args -eq 0 ]; then
_volumegroups;
else
_physicalvolumes;
fi;
fi
}
_vgmerge ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(A|-autobackup))
COMPREPLY=($( compgen -W 'y n' -- $cur ));
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-A --autobackup -d --debug \
-h --help -l --list -t --test -v --verbose \
--version' -- $cur ));
else
_volumegroups;
fi
}
_vgmknodes ()
{
local cur;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-d --debug -h --help -v --verbose \
--version' -- $cur ));
else
_volumegroups;
fi
}
_vgport ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-a --all -d --debug -h \
-? --help -v --verbose --version' -- $cur ));
else
_volumegroups;
fi
}
_vgreduce ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(A|-autobackup))
COMPREPLY=($( compgen -W 'y n' -- $cur ));
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-a --all -A --autobackup -d \
--debug -h --help --removemissing -t --test -v \
--verbose --version' -- $cur ));
else
_args;
if [ $args -eq 0 ]; then
_volumegroups;
else
_physicalvolumes;
fi;
fi
}
_vgremove ()
{
local cur;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-d --debug -h --help -t --test \
-v --verbose --version' -- $cur ));
else
_volumegroups;
fi
}
_vgrename ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(A|-autobackup))
COMPREPLY=($( compgen -W 'y n' -- $cur ));
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-A --autobackup -d --debug -h \
-? --help -t --test -v --verbose --version' -- $cur )); else
_volumegroups;
fi
}
_vgs ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(o|O|-options|-sort))
COMPREPLY=($( compgen -W 'vg_fmt vg_uuid vg_name \
vg_attr vg_size vg_free vg_sysid \
vg_extent_size vg_extent_count vg_free_count \
max_lv max_pv pv_count lv_count snap_count \
vg_seqno' -- $cur ));
return 0
;;
--units)
_units;
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '--aligned -d --debug \
-h --help --ignorelockingfailure --noheadings \
--nosuffix -o --options -O --sort -P --partial \
--separator --unbuffered --units \
-v --verbose --version' -- $cur ));
else
_volumegroups;
fi
}
_vgscan ()
{
local cur;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-d --debug -h --help \
--ignorelockingfailure --mknodes -P \
--partial -v --verbose --version' -- $cur ));
fi
}
_vgsplit ()
{
local cur prev;
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case "$prev" in
-@(A|-autobackup))
COMPREPLY=($( compgen -W 'y n' -- $cur ));
return 0
;;
-@(M|-metadatatype))
COMPREPLY=($( compgen -W '1 2' -- $cur ));
return 0
;;
esac;
if [[ "$cur" == -* ]]; then
COMPREPLY=($( compgen -W '-A --autobackup -d --debug \
-h --help -l --list -M --metadatatype -t --test \
-v --verbose --version' -- $cur ));
else
_args;
if [ $args -eq 0 -o $args -eq 1 ]; then
_volumegroups;
else
_physicalvolumes;
fi;
fi
}
_volumegroups ()
{
COMPREPLY=($(compgen -W "$( vgscan 2>/dev/null | sed -n -e 's|.*Found.*"\(.*\)".*$|\1|p' )" -- $cur ))
}
_wvdial ()
{
local cur prev config i IFS='
';
COMPREPLY=();
cur=${COMP_WORDS[COMP_CWORD]};
prev=${COMP_WORDS[COMP_CWORD-1]};
case $prev in
--config)
_filedir;
return 0
;;
esac;
case $cur in
-*)
COMPREPLY=($( compgen -W '--config --chat \
--remotename --help --version --no-syslog' - - $cur ))
;;
*)
config="/etc/wvdial.conf"' '"$HOME/.wvdialrc";
for ((i=1; i < COMP_CWORD; i++ ))
do
if [[ "${COMP_WORDS[i]}" == "--config" ]]; then
config=${COMP_WORDS[i+1]};
break;
fi;
done;
COMPREPLY=($( sed -ne "s|^\[Dialer \($cur.*\)\]$|\1|p" $config 2>/dev/null |grep -v '^Defaults$'));
COMPREPLY=${COMPREPLY// /\\ }
;;
esac
}
installed_alternatives ()
{
local admindir;
for i in alternatives dpkg/alternatives rpm/alternatives;
do
[ -d /var/lib/$i ] && admindir=/var/lib/$i && break;
done;
for ((i=1; i < COMP_CWORD; i++ ))
do
if [[ "${COMP_WORDS[i]}" == --admindir ]]; then
admindir=${COMP_WORDS[i+1]};
break;
fi;
done;
COMPREPLY=($( command ls $admindir | grep "^$cur" ))
}

就是这一堆东西,我不知道为什么没有输出我期望的环境变量列表

大虾们给菜鸟解决一下喽!:)


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-04-27 13:11 
头像

注册: 2006-05-03 0:39
帖子: 8273
地址: المريخ
送出感谢: 0 次
接收感谢: 1
代码:
env


_________________
PHP是最好的语言!不服来战!


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-04-27 13:35 

注册: 2006-11-29 13:07
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
我知道env也可以输出环境变量列表
但是它跟set还是有区别的阿

我主要是想知道我的set出了什么问题。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-04-27 13:39 

注册: 2007-03-29 12:59
帖子: 262
送出感谢: 0 次
接收感谢: 0 次
我一直不知道在ubuntu下怎么输出环境变量列表,原来是env啊,redhat下是set


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-04-27 14:26 

注册: 2006-11-29 13:07
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
ubuntu下面不能用set输出吗??

我看到很多人说一般两种都可以
但是有一定区别的阿,如下
env列出的是所有的环境(被导出的)变量,这些变量可以传递给任意子进程
set列出的是所有设置的变量,局部的和导出的,也包括设置为空的变量
具体的比较要自己动手测试一下~


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-04-27 16:38 
头像

注册: 2006-10-31 14:49
帖子: 1617
送出感谢: 0 次
接收感谢: 0 次
其实已经输出了,只是很长很长,把前面的环境变量给挤掉了
你这样看就是了
set|more


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-04-29 15:25 

注册: 2006-11-29 13:07
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
是哦
受益匪浅!!!
thank u very much!!! :o


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-08-21 22:37 

注册: 2006-02-27 18:10
帖子: 94
地址: 重庆
送出感谢: 0 次
接收感谢: 0 次
顶楼上的!

强烈鄙视2楼的stlxv
恶心!


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 为什么我用set命令没有输出环境变量列表???
帖子发表于 : 2009-03-07 10:09 

注册: 2008-11-08 15:41
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
受教了,看来要多实践,光看书不够呐。


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

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Exabot [Bot] 和 4 位游客


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

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

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