小编dha*_*hag的帖子

如何使用 bash 添加(减去等)两个数字?

我可以读取数字和操作:

echo "First number please"
read num1
echo "Second number please"
read num2
echo "Operation?"
read op
Run Code Online (Sandbox Code Playgroud)

但随后我所有添加数字的尝试都失败了:

case "$op" in
  "+")
    echo num1+num2;;
  "-")
    echo `num1-num2`;;
esac
Run Code Online (Sandbox Code Playgroud)

跑:

First number please
1
Second mumber please
2
Operation?
+
Run Code Online (Sandbox Code Playgroud)

输出:

num1+num2
Run Code Online (Sandbox Code Playgroud)

...或者...

echo $num1+$num2;;

# results in: 1+2    
Run Code Online (Sandbox Code Playgroud)

...或者...

echo `$num1`+`$num2`;;

# results in: ...line 9: 1: command not found
Run Code Online (Sandbox Code Playgroud)

当我尝试添加添加(“2+2”而不是“4”)时,似乎我仍然得到字符串。

scripting bash variable

143
推荐指数
4
解决办法
37万
查看次数

为什么 Vim 会错误地缩进粘贴的代码?

在 Vim 中,如果我粘贴此脚本:

#!/bin/sh
VAR=1
while ((VAR <  10))
    do
        echo "VAR1 is now $VAR"
        ((VAR = VAR +2))
    done
    echo "finish"
Run Code Online (Sandbox Code Playgroud)

我得到了这些奇怪的结果:

#!/bin/sh
#VAR=1
#while ((VAR <  10))
#       do
#                       echo "VAR1 is now $VAR"
#                                       ((VAR = VAR +2))
#                                               done
#                                                       echo "finish"
#                                                       
Run Code Online (Sandbox Code Playgroud)

哈希符号 (#) 和制表符已出现。为什么?

vim clipboard whitespace

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

将解压缩的文件添加到压缩文件夹

我正在尝试将解压缩的文件添加到现有的已压缩文件夹中,例如new folder.zip. zip -r new folder.zip添加一些解压文件后可以使用吗?这个命令会压缩文件夹吗?有没有其他方法可以做到这一点?

zip mv

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

Linux 可以处理超高分辨率显示器吗?

几个月前,三星发布了Ativ Book 9 Plus,这是一款非常酷的超极本,屏幕分辨率为 3200 x 1800 像素 (QHD+)。

在 Windows 8.1 发布之前,该设备随 Windows 8 一起提供,三星宣布只有 Windows 8.1 能够处理这种超高分辨率。

现在我问自己是否有任何 Linux 发行版能够处理如此高的分辨率。特别是字体渲染是一个需要考虑的点。根据Ativ Book 9 Plus 的一些早期评论,Windows 8 无法正确渲染字体,因此您无需将屏幕放在鼻子前即可阅读文本。这就是为什么他们说 Windows 8.1 将能够做得更好。

但是 Linux 是怎么回事?Linux 能否更好地处理这种超高分辨率?也许有人对具有可比分辨率的其他超极本有一些经验。

linux resolution display

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

为什么许多命令提供“安静”选项?

当您可以通过将标准输出重定向到空文件轻松实现相同的目标时,为什么许多命令提供选项-q--quiet抑制输出?

shell

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

为什么我们在 Linux 中需要“at”命令?

我正在研究at使用该命令的代码。我环顾四周,发现它是用来执行批处理作业的。它用于调度作业。给定一个命令和一个相对的或绝对的时间作为它的输入。

所以,我的第一个问题是:为什么at使用该命令?什么情况下需要使用at?当有一些 bash 脚本代码试图卸载软件以及一些后台服务要重新启动时,我遇到过它。

我的第二个问题:将任何命令作为批处理作业执行与直接(或在子shell 中)调用命令时执行命令有什么区别?

bash at

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

Unix Bourne Shell 中的数组

我正在尝试在 Bourne shell ( /bin/sh) 中使用数组。我发现初始化数组元素的方法是:

arr=(1 2 3)
Run Code Online (Sandbox Code Playgroud)

但它遇到了一个错误:

syntax error at line 8: `arr=' unexpected
Run Code Online (Sandbox Code Playgroud)

现在,我发现此语法的帖子说它是 for bash,但我找不到 Bourne shell 的任何单独语法。语法是否/bin/sh也一样?

shell array bourne-shell

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

如何就地压缩文件?

我有一台硬盘使用率为 90% 的机器。我想将其 500 多个日志文件压缩成一个较小的新文件。但是,硬盘太小,无法同时保存原始文件和压缩文件。

所以我需要的是将所有的日志文件一个一个地压缩成一个新的文件,压缩后删除每个原始文件。

我怎样才能在 Linux 中做到这一点?

command-line tar compression gzip disk-usage

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

在 Chrome OS 中,Bash 不会执行我的脚本。如何让 Bash 运行我的脚本?

foo.sh我的当前目录中有一个文件。如果我尝试运行./foo.sh,我会得到:

-bash: ./foo.sh: /bin/sh: bad interpreter: Permission denied
Run Code Online (Sandbox Code Playgroud)

但是如果我运行,/bin/sh ./foo.sh那么它运行良好。

我该如何解决这个问题,以便我可以运行./foo.sh它并自动使用 /bin/sh 运行它?

编辑:好的,这是 Chrome 操作系统,此特定文件夹使用noexec. 显然,这阻碍了跑步的能力./foo.sh;但为什么?为什么我仍然可以运行sh foo.sh以实现完全相同的目标?那么,什么安全noexec呢?

bash chrome-os

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

`at` 和 `cron` 作业的输出去哪儿了?

鉴于没有可显示的屏幕,标准输出atcron任务的去向在哪里?

它没有出现在作业开始的目录中,也没有出现在我的主目录中。

鉴于我不知道如何调试或跟踪后台作业,我怎么能真正解决这个问题?

cron output at

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