标签: shell

如何强制 Perl 使用 /bin/ksh 而不是 /bin/sh?

我正在从 AIX 迁移到 Solaris 10,但是/bin/sh那里的版本太旧了,我们的脚本无法运行。我可以以某种方式强制 perl 通过不同的 shell(在我的情况下,/bin/ksh)在 `` 中执行命令吗?

我有很多地方有系统调用,所以在每个地方都改变它们不是很可行。找到一些全局设置或其他东西会很棒。

shell perl solaris-10

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

我如何最好地总结 bogomips?

我想比较运行 Linux (Centos) 的服务器 - 明智的 CPU。

我想把所有 cpus bogomips 的总和进行比较,但只能想出这个丑陋的外壳线:

echo 0 `cat /proc/cpuinfo | grep bogomips | cut -d ":" -f 2 | tr " " "+" `| bc
Run Code Online (Sandbox Code Playgroud)

(需要 0,否则该行以 + 开头,不适合 bc)

有没有更好的方法来做到这一点?

linux shell central-processing-unit

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

用于遍历文本文件并删除字符串的 shell 脚本

我在一个目录中有几百个文本文件,其中包含用户列表:

&usera
&userb
userc
&userd
Run Code Online (Sandbox Code Playgroud)

请注意,有些不带&. 此外,在某些文件中,最后一行不以换行符结尾。

在 shell 脚本中遍历所有这些文件并删除,例如userb确保每个现有用户保留在自己的行上的最简单方法是什么?

谢谢!

scripting shell bash sed

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

dos 的 linux 反斜杠

在 linux 中,我可以使用反斜杠在命令中使用换行符,以提高 shell 脚本等的可读性:

ls -l \
   --reverse \
   --human-readable \
   --full-time
Run Code Online (Sandbox Code Playgroud)

这在DOS中可能吗?

谢谢

linux shell ms-dos

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

如何在 bash 中以更简洁的方式连接环境变量路径?

为了修改我的路径(如 LD_LIBRARY_PATH 或 PYTHONPATH),我首先检查变量是否存在。如果是这样,我旧值与新值连接起来(用分号分隔),否则我将变量设置为新值。

NEW_PATH='/path/to/new/path'  
if [ $LD_LIBRARY_PATH ]  
then  
    export LD_LIBRARY_PATH=$NEW_PATH:$LD_LIBRARY_PATH  
else  
    export LD_LIBRARY_PATH=$NEW_PATH  
fi  
Run Code Online (Sandbox Code Playgroud)

它有效,但是当你在脚本中有很多这些源代码时它有点笨拙:是否有一个聪明的技巧可以使这个块成为一个很好的单衬?

谢谢 !

shell bash path unix-shell

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

将 & 附加到我执行的特定命令的末尾

我希望在执行命令时附加 & 符号到特定命令(比如 tkdiff)的末尾。

请让我知道我应该在 bashrc 中创建什么样的别名/任何其他解决方案。

提前致谢。

注意:我执行的命令可能有几个参数。& 应该放在最后,以便我可以在 b/g 中执行,并且可以将 shell 用于任何其他目的。

linux shell bourne-shell

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

教以前只使用 Windows bash 的初学者?

我应该向初学者介绍如何使用 shell(即 bash)。我可以在 1 1/2 小时内教给某人而不要求太多的最基本/最有用的东西是什么?

以下是我想到的几点:

  • 我在哪里(密码)
  • 更改目录(cd、cd ..、cd -)
  • 创建目录(mkdir、mkdir -p)
  • 重命名文件/目录 (mv)
  • 复制文件/目录(cp,cp -r)
  • 列出目录条目(ls、ls -l、ls -a)

编辑

我所说的全部初学者是指 Unix/Linux 的全部初学者 :-)。

linux unix shell bash

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

shell 脚本 $$ 值

当我使用这些 shell 命令时:

[root@linux /tmp]# a=$$
[root@linux /tmp]# echo $a
3985
Run Code Online (Sandbox Code Playgroud)

值 3985 来自哪里?为什么?

scripting shell

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

在 Ubuntu 上允许 ftp 访问但禁用终端访问

我有 2 个用户想要禁用终端访问,但仍保留 ftp 访问权限。我该如何实现?

编辑

忘了提,我正在使用 vsftpd。

ubuntu shell ftp

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

如何在某个位置替换字符串的字母

假设我想替换某个字符串的第 n 个字母,我该怎么做?

我试过这样的事情,但它不正确:

#!/bin/bash
index= # let say 2
s='Hello'
echo ${s/$index/'a'} # This should print Healo
Run Code Online (Sandbox Code Playgroud)

linux ubuntu shell bash

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