标签: sh

Cron工作和随机时间,在给定的时间内

我需要能够在完全随机的时间内每天运行20次PHP脚本.我也希望它只在上午9点到晚上11点之间运行.

我熟悉在linux中创建cron作业.

bash cron sh

87
推荐指数
7
解决办法
8万
查看次数

我刚刚分配了一个变量,但echo $ variable显示了其他内容

以下是一系列echo $var可以显示与刚刚分配的值不同的值的情况.无论指定的值是"双引号","单引号"还是不引用,都会发生这种情况.

如何让shell正确设置我的变量?

星号

预期的输出是/* Foobar is free software */,但我得到一个文件名列表:

$ var="/* Foobar is free software */"
$ echo $var 
/bin /boot /dev /etc /home /initrd.img /lib /lib64 /media /mnt /opt /proc ...
Run Code Online (Sandbox Code Playgroud)

方括号

期望值是[a-z],但有时我会得到一个字母!

$ var=[a-z]
$ echo $var
c
Run Code Online (Sandbox Code Playgroud)

换行(换行符)

预期值是一个单独的行列表,但所有值都在一行!

$ cat file
foo
bar
baz

$ var=$(cat file)
$ echo $var
foo bar baz
Run Code Online (Sandbox Code Playgroud)

多个空间

我期望一个精心对齐的表头,但是多个空格要么消失要么折叠成一个!

$ var="       title     |    count"
$ echo $var
title | count
Run Code Online (Sandbox Code Playgroud)

标签

我期望两个制表符分隔值,但我得到两个空格分隔值!

$ …
Run Code Online (Sandbox Code Playgroud)

bash shell sh quoting

87
推荐指数
4
解决办法
15万
查看次数

仅使用shell脚本从文本文件中获取特定行

我试图从文本文件中获取特定的行.

到目前为止,在线我只看过像sed这样的东西(我只能使用sh -not bash或sed或类似的东西).我只需要使用基本的shell脚本来完成这项工作.

cat file | while read line
    do
       #do something
    done
Run Code Online (Sandbox Code Playgroud)

我知道如何遍历行,如上所示,但如果我只需要获取特定行的内容该怎么办

unix linux shell sh

86
推荐指数
5
解决办法
20万
查看次数

如何cat << EOF >>包含代码的文件?

我想使用cat <<EOF >>以下代码将代码打印到文件中:

cat <<EOF >> brightup.sh
!/bin/bash
curr=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ $curr -lt 4477 ]; then
   curr=$((curr+406));
   echo $curr  > /sys/class/backlight/intel_backlight/brightness;
fi
EOF
Run Code Online (Sandbox Code Playgroud)

但是当我检查文件输出时,我得到了这个:

!/bin/bash
curr=1634
if [  -lt 4477 ]; then
   curr=406;
   echo   > /sys/class/backlight/intel_backlight/brightness;
fi
Run Code Online (Sandbox Code Playgroud)

我尝试使用单引号,但输出也带有单引号.我该如何避免这个问题?

unix linux heredoc sh

79
推荐指数
4
解决办法
15万
查看次数

什么是sudo bang bang?

让我成为三明治,sudo bang bang

除了这个漫画,我看到有些人写sudo !!.

什么是sudo bang bang?

linux bash terminal sh

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

什么意思啊!在shell中的命令之前?

问题出在标题中.以感叹号开头的shell命令(shell脚本的一部分)的目的是什么?具体例子:

在foo.sh中:

#!/usr/bin/env bash
set -e
! docker stop foo
! docker rm -f foo
# ... other stuff
Run Code Online (Sandbox Code Playgroud)

我知道如果没有空格,感叹号将用于历史记录替换,并且! <expression>根据手册页可用于评估" 如果expr为false则为True ".但是在对我来说没有意义的示例上下文中.

unix linux bash shell sh

72
推荐指数
2
解决办法
6557
查看次数

什么是.sh文件?

所以我没有经验处理过多的文件类型,而且我还没有找到关于究竟是什么.sh文件的很多信息.这是我正在尝试做的事情:

我正在尝试下载以可以单独下载的磁贴排列的地图数据集:http://daymet.ornl.gov/gridded

为了一次下载一系列的瓷砖,他们说下载他们的脚本,最终导致daymet-nc-retrieval.sh:https://github.com/daymet/scripts/blob/master/Bash/daymet-nc-retrieval.sh

那么,我应该用这段代码做什么呢?假设用户知道如何处理,网站不提供进一步的说明.我猜你应该将代码粘贴到浏览器的其他未提及的应用程序中(在这种情况下使用Chrome或Firefox)?它看起来几乎可以粘贴到Firefox/Greasemonkey中,但并不完全.只是通过一个快速谷歌的文件类型我无法得到它的正面或反面.

我确信有一个关于如何处理这些文件的简单解释,但它似乎埋藏在很多帖子中,人们已经假设你知道如何处理这些文件.有人愿意只是简单地说明在使用实际实现代码的页面之后需要从正方形做什么?谢谢.

linux sh download-manager

71
推荐指数
4
解决办法
36万
查看次数

在Bash中递归更改文件扩展名

我想递归的目录遍历和更改特定扩展名的所有文件的扩展名,说.t1.t2.执行此操作的bash命令是什么?

linux bash shell sh

70
推荐指数
5
解决办法
4万
查看次数

如何使用Bash将一个目录合并到另一个目录中?

我正在寻找将文件从一个目录合并到另一个目录的shell脚本.

样品:

html/
  a/
    b.html
  index.html

html_new/
  a/
    b2.html
    b.html
Run Code Online (Sandbox Code Playgroud)

用法:

./mergedirs.sh html html_new
Run Code Online (Sandbox Code Playgroud)

结果:

html/
  a/
    b.html
    b2.html
  index.html
Run Code Online (Sandbox Code Playgroud)

html/a/b.htmlhtml_new/a/b.html
html/a/b2.html复制的被取而代之的是html_new/a/b2.html
html/index.html被保持不变的

bash shell scripting command-line sh

69
推荐指数
5
解决办法
6万
查看次数

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

标签 统计

sh ×10

bash ×7

linux ×6

shell ×6

unix ×3

command-line ×1

cron ×1

download-manager ×1

heredoc ×1

quoting ×1

scripting ×1

terminal ×1