GVKun编程网logo

用于计算文件数的Bash脚本(shell脚本计算当前目录下可执行文件的数量)

5

本文将分享用于计算文件数的Bash脚本的详细内容,并且还将对shell脚本计算当前目录下可执行文件的数量进行详尽解释,此外,我们还将为大家带来关于bash–用于计算数据文件中数字列表的平均值的脚本、B

本文将分享用于计算文件数的Bash脚本的详细内容,并且还将对shell脚本计算当前目录下可执行文件的数量进行详尽解释,此外,我们还将为大家带来关于bash – 用于计算数据文件中数字列表的平均值的脚本、Bash脚本-如何设置用于创建新文件的组?、Bash脚本调用另一个bash脚本,并在继续之前等待它完成、Bash脚本:使用bash脚本中的“ script”命令来记录会话的相关知识,希望对你有所帮助。

本文目录一览:

用于计算文件数的Bash脚本(shell脚本计算当前目录下可执行文件的数量)

用于计算文件数的Bash脚本(shell脚本计算当前目录下可执行文件的数量)

我有一个脚本,如果文件存在与否,我想显示不同的消息.我有一个脚本,如:
count=ls /import/*.zip | wc -l

echo "Number of files: " $count
if [ "$count" > "0" ]; then
    echo "Import $count files"
else
    echo "**** No files found ****"
fi

但是,如果不存在任何文件,则显示没有此类文件或目录而不是0文件. / import /目录中有一个目录,所以我不能只执行ls命令,因为它总会返回一个大于0的值.

如何计算特定扩展名(.zip,.gz等)的文件数,并在bash脚本中使用该值来显示文件数,然后在if语句中使用它来显示不同的消息?

count = $(find / import -maxdepth 1 -name’* .zip’| wc -l)

bash – 用于计算数据文件中数字列表的平均值的脚本

bash – 用于计算数据文件中数字列表的平均值的脚本

文件data.txt包含以下内容:
1.00 1.23 54.4 213.2 3.4

脚本的输出应该是:

ave: 54.646

一些简单的脚本是首选的。

这是一种方法:
$ awk '{s+=$1}END{print "ave:",s/NR}' RS=" " file
ave: 54.646

Bash脚本-如何设置用于创建新文件的组?

Bash脚本-如何设置用于创建新文件的组?

我正在做一个bash shell脚本,我想更改创建新文件的默认组。我知道您umask用来更改权限。团体有东西吗?

Bash脚本调用另一个bash脚本,并在继续之前等待它完成

Bash脚本调用另一个bash脚本,并在继续之前等待它完成

我有一个bash脚本运行另一个bash脚本,但是第一个bashscript不等待第二个完成,然后继续,我怎么强迫它等待?

例如:

#!/bin/bash
# first.sh

#call to secondary script
sh second.sh
echo "second.sh has completed"

echo "continuing with the rest of first.sh..."

它现在的方式,它将运行second.sh,并继续,而不等待second.sh完成。

通常它是还有其他事情正在发生。你确定另一个脚本没有在后台运行吗?你可以尝试使用等等。

Bash脚本:使用bash脚本中的“ script”命令来记录会话

Bash脚本:使用bash脚本中的“ script”命令来记录会话

我正在尝试使用script命令记录bash会话。

script命令是从bash脚本开始执行的,但是一旦执行,bash脚本就会终止。

我尝试使用各种组合来始终以相同的结果调用命令(调用该命令后立即终止bash脚本)。我得到的输出如下:

Script started, file is typescriptroot@ubuntu: ...

我也尝试过最后用a来调用命令,&但是再次失败了。

谁能告诉我如何从bash脚本调用命令?

谢谢

答案1

小编典典

您的Shell脚本没有终止。它仍在运行。您会收到提示,因为script正在生成新的shell。

用例为script

  1. 开始script(产生一个新的shell)
  2. 做命令
  3. 退出外壳程序(注销)并移至上一个外壳程序
  4. 检查或打印由创建的日志文件 script

因此基本上script可以按预期工作。您将必须找到另一种方式来实现您想要的。

您可以像这样记录脚本的执行:

#! /bin/bashexec > logfile 2>&1set -xFOO=BARecho $FOO

说明:

  • exec > logfile 2>&1 将stdout和stderr重定向到日志文件
  • set -x 使bash在执行命令之前先打印所有命令

例:

$ ./foo.sh$ cat logfile + FOO=BAR+ echo BARBAR

此方法的缺点是该脚本不打印任何输出供人类查看。一切都进入日志文件。

另外,您也可以这样:

#! /bin/bash# nothing special hereFOO=BARecho $FOO

然后像这样执行:

$ script -c "bash -x foo.sh"Script started, file is typescript+ FOO=BAR+ echo BARBARScript done, file is typescript$ cat typescript Script started on Mi 18 Mai 2011 01:05:29 CEST+ FOO=BAR+ echo BARBARScript done on Mi 18 Mai 2011 01:05:29 CEST

今天关于用于计算文件数的Bash脚本shell脚本计算当前目录下可执行文件的数量的讲解已经结束,谢谢您的阅读,如果想了解更多关于bash – 用于计算数据文件中数字列表的平均值的脚本、Bash脚本-如何设置用于创建新文件的组?、Bash脚本调用另一个bash脚本,并在继续之前等待它完成、Bash脚本:使用bash脚本中的“ script”命令来记录会话的相关知识,请在本站搜索。

本文标签: