小编dou*_*own的帖子

"如果(1)"做什么?

语法是什么

if (1) {}
Run Code Online (Sandbox Code Playgroud)

做?

我找不到这种语法的文档,1没有被视为布尔值.我对吗?.

perl

4
推荐指数
3
解决办法
9138
查看次数

确定终端类型(经典Unix终端与图形终端)

我正在PS1通过.bashrc配置提示符(),发现当前配置存在一个问题:我使用的是256色方案。这与经典终端不兼容(可通过例如Ctrl+ Alt+ 访问F2),但在图形终端(如gnome-terminal,terminator等)中看起来很漂亮。

因此,我必须根据终端的类型更改提示。为此,我需要一个条件for if子句来测试终端的类型。你知道怎么做吗?

bash

4
推荐指数
1
解决办法
4998
查看次数

如何获得PHP"setrawcookie"的价值?

IETF建议对二进制cookie值使用base64编码:http: //tools.ietf.org/html/draft-ietf-httpstate-cookie-07

所以我使用setrawcookie(..)但我不知道用什么变量来获取cookie,因为$_COOKIE[..]仍然使用匹配的URL解码setcookie(..).这会在输出中将"+"替换为"".

<?php

var_dump($_COOKIE['TEST']);
$binary_string = "";
for($index = 0; $index < 256; $index++){
    $binary_string .= chr($index);
}
$encoded_data = base64_encode($binary_string);
var_dump($encoded_data);
$cookie_set = setrawcookie('TEST', $encoded_data, time() + 3600);
?>
Run Code Online (Sandbox Code Playgroud)

php cookies cgi http

3
推荐指数
1
解决办法
3312
查看次数

Perl可以将数组引用存储为散列键吗?

考虑以下:

use strict;
use Data::Dumper;
my $hash={['one','two']=>[1,2]};
print Dumper($hash);
=for comment
prints....
$VAR1 = {
          'ARRAY(0x35358)' => [
                               1,
                               2
                              ]
         };
=cut
Run Code Online (Sandbox Code Playgroud)

作为替代方案,哈希中的键可以被构造为"一个\ ttwo",然后我可以基于制表符分隔符(在程序的后半部分,同时重置数据)来分离键的元素.

关于如何将密钥存储为数组引用的任何建议?

perl

3
推荐指数
1
解决办法
3506
查看次数

如何检查字符串是否只包含AZ,az和0-9?

使用模式验证字符串的最佳方法是什么?我会使用PCRE,但我不知道它是否嵌入在每个shell中以及如何使用它.

例如,我怎么能验证该变量只包含AZ,aZ和0-9并且不包含空格',',......?

regex validation bash pcre

3
推荐指数
1
解决办法
1万
查看次数

如何在shell的条件下找到选项

在我的一个shell脚本中,我看到了

if [[ ! -d directory1 || ! -L directory ]] ; then
Run Code Online (Sandbox Code Playgroud)

这里有什么-d-L选择意味着什么?我在哪里可以找到有关if条件中使用的选项的信息?

bash shell

3
推荐指数
2
解决办法
2万
查看次数

对多种文件类型使用`find`并替换找到的文件中的字符串

我试图以递归方式查找多种类型的文件,并在找到的每个文件中替换某个字符串.但是当我运行脚本时,它只能找到一种类型的文件.

我正在使用的命令行就是这个

find . -name '*.tcl' -o -name '*.itcl' -o -name '*.db' -exec sed -i 's/abc/cba/g' {} +
Run Code Online (Sandbox Code Playgroud)

每次我运行上面的命令时,它只找到类型的文件.db.当我用单个文件类型运行它时,它工作正常.

bash recursion sed find

3
推荐指数
1
解决办法
3314
查看次数

从文件名中提取版本号

我在这样的文件夹中有一个文件:

installer-x86_64-XXX.XX-diagnostic.run

其中XXX.XX是版本号,我只需要版本号.怎么在linux中做到这一点?

我有这个代码:

#!/bin/bash
current_ver=$(find /mnt/builds/current -name '*.run'|awk -F/ '{print $NF}')
Run Code Online (Sandbox Code Playgroud)

所以这给了我正确的文件名称(减去我不想要的位置).

但是,我如何才能将XXX.XX版本号转换为变量,例如 $version

linux string bash

3
推荐指数
2
解决办法
6414
查看次数

3
推荐指数
1
解决办法
1041
查看次数

如何在单独的行上打印从shell扩展返回的每个单词?

当我们使用shell扩展时,它会在一行中提供所有扩展的单词.例如:

#!/bin/bash 
data="Hello\ {World,Rafi}"
eval echo $data
Run Code Online (Sandbox Code Playgroud)

这会产生以下输出:

Hello World Hello Rafi
Run Code Online (Sandbox Code Playgroud)

可以像这样在单独的一行输出每一行吗?

Hello World 
Hello Rafi
Run Code Online (Sandbox Code Playgroud)

bash shell

3
推荐指数
1
解决办法
601
查看次数

标签 统计

bash ×6

perl ×2

shell ×2

cgi ×1

cookies ×1

find ×1

http ×1

linux ×1

pcre ×1

php ×1

recursion ×1

regex ×1

sed ×1

string ×1

validation ×1

vim ×1