㈠ python,列表ls[2][-1][0]命令是什么意思
ls 这个变量应该是个多维数组
你可以依次这样去理解 ls[2] 表示取 ls下标为2的值(从左到右的第三个,因为下标是从0开始的)
然后在 对ls[2]下的值 取[-1]的值 (-1表示列表元素的最后一个)
然后在 对ls[2][-1]下的值[0]的值(0表示列表元素的第一个)
㈡ 如何把shell命令的输出按行存入数组
例如:
1)取目录下文件名
she=(`ls -1`) #存入数据she
echo ${she[0]} #调用she第一个元素
echo ${she[1]}
....
注意:ls -1 而不是 ls -l
2)取文件内容
我只会写脚本来实现了。
㈢ 在shell中如何把ls的输出存进一个数组变量中
set -a myfilesindex=0for f in `ls`; do myfiles[index]=$f; let index=index+1; done
㈣ 关于shell_exec的用法
exec()是用于执行shell命令的函数。它返回执行并返回命令输出的最后一行,但你可以指定一个数组作为第二个参数,这样输出的每一行都会作为一个元素存入数组。使用方式如下:
1.代码如下:
<?php
$last = exec('ls', $output, $return);
print_r($output);
echo "Return [$return]";
?>
2.假设ls命令在shell中手工运行时会产生如下输出:
代码如下:
$ ls
total 0
-rw-rw-r-- 1 chris chris 0 May 21 12:34 php-security
-rw-rw-r-- 1 chris chris 0 May 21 12:34 chris-shiflett
3.当通过上例的方法在exec()中运行时,输出结果如下:
代码如下:
Array
(
[0] => total 0
[1] => -rw-rw-r-- 1 chris chris 0 May 21 12:34 php-security
[2] => -rw-rw-r-- 1 chris chris 0 May 21 12:34 chris-shiflett
)
Return [0]
这种运行shell命令的方法方便而有用,但这种方便为你带来了重大的风险。如果使用了被污染数据构造命令串的话,攻击者就能执行任意的命令。
我建议你有可能的话,要避免使用shell命令,如果实在要用的话,就要确保对构造命令串的数据进行过滤,同时必须要对输出进行转义:
4.代码如下:
<?php
$clean = array();
$shell = array();
/* Filter Input ($command, $argument) */
$shell['command'] = escapeshellcmd($clean['command']);
$shell['argument'] = escapeshellarg($clean['argument']);
$last = exec("{$shell['command']} {$shell['argument']}", $output, $return);
?>
㈤ perl Net::SFTP::Foreign模块使用ls()方法输出为ARRAY(0xe00410)问题
自己join下试一试
print join(" ", @a);
㈥ php调用linux命令ls后无输出!!!这是为什么
如果有给予参数array,则指定的数组将会被命令所输出的每一行填满
$cmd = "ls";
$result = exec($cmd , $arry);
print_r($arry);
exit;
㈦ ubuntu中:echo $(ls -l)命令显示出的结果没有换行符(变成了空格),如何让其显示换行符
出现这个问题的原因:
前者:
$(ls -l)会执行ls -l这条命令,并且用输出取代这条命令的位置,看起来像这样
echo total 16[换行符]-rw-------
……
也就是说total,16,-rw-------等,成为了echo的参数,而空格,换行等最后实际上成为shell的识别不同参数间的分隔符,shell把这些放到argv的字符串数组里,最后由echo这个可执行程序获取传递来的参数。而传递进来的参数,echo只获取到字符串内容,并没有获取到所谓的换行、空格或制表符。而echo在输出没有双引号引起来的字符串时,默认由一个空格作为输出的分隔符。因此可以看到不同字段间都是由一个空格隔开的,没有输出换行或制表符。
后者:
当用""双引号引起来的时候,shell首先完成对里面字符串的解析,也就是说如果里面有变量,如$a。shell完成展开这一任务,把里面的变量替换成变量的值。(这里要多说一点的就是单引号不会做此扩展)然后把整个用""引起来的字符串作为一个参数传递给echo,这样echo只获取到一个参数,里面的换行、空格或制表符都是字符串里的字符,echo当然会输出出来,这也是为什么用echo "$(ls -l)"输出和ls -l一样的原因。
㈧ linux系统操作 shell命令里 ls 命令 中的选项 -d 命令 表示输出什么
这个选项输出的是目录。ls 是列出文件或者目录的命令,在linux下使用man ls 查阅命令参数
看样看到-d的意思是显示目录,并且不显示呼号链接
㈨ 怎么将python中的数组全部打印出来array
在python中打印array数组的方法如下:
1、通过桌面快捷方式或搜索来打开IDLE软件。
㈩ php怎样把shell的输出保存为数组
exec("ls a/",$b);
var_mp($b);
酱紫就可以了