perl使用system调用history返回值为-1
时间:2010-09-28
来源:互联网
本帖最后由 hutule110 于 2010-09-28 17:00 编辑
复制代码
打印出来的值为 -1;
复制代码
打印出来是 ls -l的效果.
想知道为什么会有这种差异?
- use strict;
- #!/usr/bin/perl -w
- print system 'history';
- use strict;
- #!/usr/bin/perl -w
- print system 'ls -l';
想知道为什么会有这种差异?
作者: hutule110 发布时间: 2010-09-28
用bash也是同样的效果,history这个命令和ls 这样的命令有啥区别么?

作者: hutule110 发布时间: 2010-09-28
看看shell环境
作者: gaochong 发布时间: 2010-09-28
- declare -x ACLOCAL_FLAGS="-I /opt/gnome/share/aclocal"
- declare -x COLORTERM="1"
- declare -x CPU="i686"
- declare -x CSHEDIT="emacs"
- declare -x ENV="/etc/bash.bashrc"
- declare -x FROM_HEADER=""
- declare -x GNOME2_PATH="/usr/local:/opt/gnome:/usr"
- declare -x GROFF_NO_SGR="yes"
- declare -x GTK_PATH="/usr/local/lib/gtk-2.0:/opt/gnome/lib/gtk-2.0:/usr/lib/gtk-2.0"
- declare -x G_BROKEN_FILENAMES="1"
- declare -x G_FILENAME_ENCODING="@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1"
- declare -x HISTSIZE="1000"
- declare -x HOME="/root"
- declare -x HOST=""
- declare -x HOSTNAME="feixue"
- declare -x HOSTTYPE="i386"
- declare -x INFODIR="/usr/local/info:/usr/share/info:/usr/info"
- declare -x INFOPATH="/usr/local/info:/usr/share/info:/usr/info:/opt/gnome/share/info"
- declare -x INPUTRC="/etc/inputrc"
- declare -x ISR40_HOME="/opt/xisr40"
- declare -x LANG="zh_CN.UTF-8"
- declare -x LC_ALL="C"
- declare -x LD_LIBRARY_PATH="/opt/xisr40/lib:"
- declare -x LESS="-M -I"
- declare -x LESSCLOSE="lessclose.sh %s %s"
- declare -x LESSKEY="/etc/lesskey.bin"
- declare -x LESSOPEN="lessopen.sh %s"
- declare -x LESS_ADVANCED_PREPROCESSOR="no"
- declare -x LOGNAME="root"
- declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:"
- declare -x LS_OPTIONS="-A -N --color=tty -T 0"
- declare -x MACHTYPE="i686-suse-linux"
- declare -x MAIL="/var/mail/root"
- declare -x MANPATH="/usr/share/man:/usr/local/man:/usr/local/share/man:/usr/X11R6/man:/opt/gnome/share/man"
- declare -x MINICOM="-c on"
- declare -x MORE="-sl"
- declare -x NNTPSERVER="news"
- declare -x OLDPWD="/home/msp"
- declare -x OSTYPE="linux"
- declare -x PAGER="less"
- declare -x PATH="/sbin:/usr/sbin:/usr/local/sbin:/opt/gnome/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/bin:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin"
- declare -x PKG_CONFIG_PATH="/opt/gnome/lib/pkgconfig:/opt/gnome/share/pkgconfig"
- declare -rx PROFILEREAD="true"
- declare -x PWD="/home/msp/ctest"
- declare -x PYTHONSTARTUP="/etc/pythonstart"
- declare -x QT_SYSTEM_DIR="/usr/share/desktop-data"
- declare -x SHELL="/bin/bash"
- declare -x SHLVL="1"
- declare -x SSH_CLIENT="192.168.70.48 1471 22"
- declare -x SSH_CONNECTION="192.168.70.48 1471 192.168.72.78 22"
- declare -x SSH_TTY="/dev/pts/0"
- declare -x TERM="linux"
- declare -x TEXINPUTS=":/root/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX"
- declare -x USER="root"
- declare -x WINDOWMANAGER="/usr/X11R6/bin/gnome"
- declare -x XCURSOR_THEME="Industrial"
- declare -x XDG_CONFIG_DIRS="/usr/local/etc/xdg/:/etc/xdg/:/etc/opt/gnome/xdg/"
- declare -x XDG_DATA_DIRS="/usr/local/share/:/usr/share/:/etc/opt/kde3/share/:/opt/kde3/share/:/opt/gnome/share/"
- declare -x XKEYSYMDB="/usr/X11R6/lib/X11/XKeysymDB"
- declare -x XNLSPATH="/usr/X11R6/lib/X11/nls"
作者: hutule110 发布时间: 2010-09-28
system函數返回的是執行程序的退出狀態. system(ls -l)最後也會打印0,
2者的不同懷疑是程序內部處理輸出的問題
2者的不同懷疑是程序內部處理輸出的問題
作者: wind_ch 发布时间: 2010-09-28
$ type history
history is a shell builtin
$
history is a shell builtin
$
作者: flw 发布时间: 2010-09-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28