小编Vin*_*nce的帖子

用变量替换文本

我怎样才能做到这一点?

sed -i 's/wiki_host/$host_name/g' /root/bin/sync
Run Code Online (Sandbox Code Playgroud)

它将取代wiki_host文本$host_name.但我想用变量的内容替换它..

我试过了

sed -i 's/wiki_host/${host_name}/g' /root/bin/sync
Run Code Online (Sandbox Code Playgroud)

它也不起作用.

linux variables bash sed

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

使用变量从python执行Shell脚本

我有这个代码:

opts.info("Started domain %s (id=%d)" % (dom, domid))
Run Code Online (Sandbox Code Playgroud)

我想用domid上面的参数执行一个shell脚本.像这样的东西:

subprocess.call(['test.sh %d', domid])
Run Code Online (Sandbox Code Playgroud)

它是如何工作的?

我尝试过:

subprocess.call(['test.sh', domid])
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

File "/usr/lib/xen-4.1/bin/xm", line 8, in <module>
    main.main(sys.argv)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/main.py", line 3983, in main
    _, rc = _run_cmd(cmd, cmd_name, args)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/main.py", line 4007, in _run_cmd
    return True, cmd(args)
  File "<string>", line 1, in <lambda>
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/main.py", line 1519, in xm_importcommand
    cmd.main([command] + args)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/create.py", line 1562, in main
    dom = make_domain(opts, config)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/create.py", line 1458, in make_domain
    subprocess.call(['test.sh', domid]) …
Run Code Online (Sandbox Code Playgroud)

python variables execute

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

上传文件时保留上次修改日期

有没有办法在通过 HTTP POST 上传文件时保留上次修改日期?

我已经读到当您使用copy()时它会发生变化(请参阅此处)。但就我而言,它已在临时文件夹中更改。

HTML:

<!DOCTYPE html>
<html>
    <body>

        <form action="upload.php" method="post" enctype="multipart/form-data">
            Select file to upload:
            <input type="file" name="fileToUpload" id="fileToUpload">
            <input type="submit" value="Upload Image" name="submit">
        </form>

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

PHP:

<?php

  $target_dir = "uploads/";
  $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
  $uploadOk = 1;
  $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

  echo "Modified: ".date('d/m/Y H:i:s', filemtime($_FILES['fileToUpload']["tmp_name"]));

?>
Run Code Online (Sandbox Code Playgroud)

输出为:修改时间:17/02/2016 09:02:39

但该文件实际上最后编辑于 10/02/2016 09:34:23

属性:(创建、修改、访问)

文件属性

有没有办法防止这种情况?

php upload post date

6
推荐指数
1
解决办法
3479
查看次数

ZFS:回滚快照但保留较新的快照

我有以下 ZFS 快照:

data/server/dev1@snap1
data/server/dev1@snap2
data/server/dev1@snap3
Run Code Online (Sandbox Code Playgroud)

如果我想回滚到snap1,我会执行以下操作:

zfs rollback data/server/dev1@snap1
Run Code Online (Sandbox Code Playgroud)

但 ZFS 返回:

more recent snapshots or bookmarks exist
use '-r' to force deletion..
Run Code Online (Sandbox Code Playgroud)

我知道有是简单地将文件复制出来的可能性/data/server/dev1/.zfs/snapshot/snap1/data/server/dev1但那要花费更长的时间比zfs rollback

有没有办法进行回滚保留较新的快照snap2& snap3

21/11/2016 更新

看起来有一种方法可以做到这一点。我阅读了有关与zfs promote和一起工作的信息,zfs clone但我无法弄清楚它究竟是如何工作的。

zfs snapshot rollback

6
推荐指数
1
解决办法
3273
查看次数

Linux Bash - 日期格式

我的日期格式是yyyy-mm-dd-hh:mm:ss如何检查我的输入?

它应该是这样的:

#!/bin/bash

read -p "Date (format yy-mm-dd-HH-MM-SS): " input

check=$(date +"%Y-%m-%d-%H:%M:%S")

if [ $input -eq $check ]; do

     echo "Right!"

else
     echo "False!"

fi
Run Code Online (Sandbox Code Playgroud)

但这并没有检查日期它将我的输入与实际日期进行比较.

最好的问候文斯

linux bash shell formatting date

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

使用多个管道从Python执行Shell脚本

我想在python脚本中执行以下Shell命令:

dom=myserver    
cat /etc/xen/$myserver.cfg | grep limited | cut -d= -f2 | tr -d \"
Run Code Online (Sandbox Code Playgroud)

我有这个:

dom = myserver

limit = subprocess.call(["cat /etc/xen/%s.cfg | grep limited | cut -d= -f2", str(dom)])
subprocess.call(['/root/bin/xen-limit', str(dom), str(limit)])
Run Code Online (Sandbox Code Playgroud)

它不起作用,但我不知道为什么..

更新:

c1 = ['cat /etc/xen/%s.cfg']
p1 = subprocess.Popen(c1, stdout=subprocess.PIPE)

c2 = ['grep limited']
p2 = subprocess.Popen(c2, stdin=p1.stdout, stdout=subprocess.PIPE)

c3 = ['cut -d= -f2']
p3 = subprocess.Popen(c3, stdin=p2.stdout, stdout=subprocess.PIPE)

c4 = ['tr -d \"']
p4 = subprocess.Popen(c4, stdin=p3.stdout, stdout=subprocess.PIPE)

result = p4.stdout.read()

limit = subprocess.call([result])
subprocess.call(['/root/bin/xen-limit', …
Run Code Online (Sandbox Code Playgroud)

python linux bash shell pipe

5
推荐指数
1
解决办法
2238
查看次数

剪切命令的输出

我有以下命令“xm list”的输出:

Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   505     4     r-----  11967.2
test1                                       28  1024     1     -b----    137.9
test2                                       33  1024     1     -b----      3.2
Run Code Online (Sandbox Code Playgroud)

我使用以下命令执行 shellscript:./myscript test2 在这个脚本中,我需要 test2 的 ID(显示在命令“xm list”(ID33)中)我用 grep 尝试并像这样剪切:

xm list | grep $1 | cut ???
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

linux bash grep cut

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

在PHP中提交带有HTML的表单

为什么不提交我的表格?我在Javascript部分之前发送电子邮件给我测试了它.我收到它,但Javascript部分无法正常工作.我也做了一个console.log,什么也没发生..

我在用 jquery-ui-1.8.7.custom.min.js

$data阵列充满了弦.例如:$data['key1'] = 'test1';

echo "<form action='http://example.com' method='POST' id='my-form'>";
    foreach ($data as $key => $value) {
        hidden_field($key, $value, array('id' => null));
    }         
echo '</form>';
# DEBUG
sendmail('my@email.com', "SUBMIT NOW", 'SUBMITTED NOW', null, false, $order['email'], $order['name']);

echo '<script type="text/javascript">$("#my-form").submit();</script>';
Run Code Online (Sandbox Code Playgroud)

html javascript php jquery

-2
推荐指数
2
解决办法
80
查看次数

标签 统计

bash ×4

linux ×4

date ×2

php ×2

python ×2

shell ×2

variables ×2

cut ×1

execute ×1

formatting ×1

grep ×1

html ×1

javascript ×1

jquery ×1

pipe ×1

post ×1

rollback ×1

sed ×1

snapshot ×1

upload ×1

zfs ×1