Questions tagged «scripting»

脚本编写是一种编程形式,通常具有低形式化,松散键入和不需要显式编译的特征。有许多脚本语言,并且这些脚本语言可用于各种场景-命令行应用程序,GUI,服务器端应用程序,扩展模块。


15
Bash脚本中某个范围的随机数
我需要2000-65000从shell脚本之间生成一个随机端口号。问题是$RANDOM15位数字,所以我卡住了! PORT=$(($RANDOM%63000+2001)) 如果没有大小限制,它将很好地工作。 有没有人举例说明我如何做到这一点,也许是通过从中提取某些东西/dev/urandom并使其处于一定范围内?
195 bash  shell  scripting 

7
正确的Bash和Shell脚本变量大写
我遇到了很多都带有大写字母的变量的shell脚本,而且我一直认为这有一个严重的误解。我的理解是,按照惯例(也许很久以前就有必要了),环境变量是大写的。 但是在像Bash这样的现代脚本环境中,我一直首选使用小写的名称表示临时变量,而使用大写的名称表示导出(即环境)变量。例如: #!/usr/bin/env bash year=`date +%Y` echo "It is $year." export JAVA_HOME="$HOME/java" 这一直是我对事情的看法。是否有任何权威人士同意或不同意这种方法,或者纯粹是风格问题?

13
确定bash中是否存在函数
目前,我正在做一些从bash执行的单元测试。单元测试是在bash脚本中初始化,执行和清理的。该脚本通常包含init(),execute()和cleanup()函数。但是它们不是强制性的。我想测试它们是否定义。 之前,我是通过摸索和诱骗来源来做到这一点的,但这似乎是错误的。有没有更优雅的方法可以做到这一点? 编辑:以下代码段就像一个超级按钮一样工作: fn_exists() { LC_ALL=C type $1 | grep -q 'shell function' }




6
awk不打印换行符
我希望变量sum / NR在每次迭代中并排打印。如何避免awk在每次迭代中打印换行符?在我的代码中,每次迭代默认情况下都会打印换行符 for file in cg_c ep_c is_c tau xhpl printf "\n $file" >> to-plot.xls for f in 2.54 1.60 800 awk '{sum+=$3}; END {print sum/NR}' ${file}_${f}_v1.xls >> to-plot-p.xls done done 我希望输出看起来像这样 cg_c ans1 ans2 ans3 ep_c ans1 ans2 ans3 is_c ans1 ans2 ans3 tau ans1 ans2 ans3 xhpl …
169 scripting  awk  newline 

9
如何在bash脚本中检查文件名的扩展名?
我正在用bash编写每晚构建脚本。 除了一点小障碍,一切都很好,花花公子: #!/bin/bash for file in "$PATH_TO_SOMEWHERE"; do if [ -d $file ] then # do something directory-ish else if [ "$file" == "*.txt" ] # this is the snag then # do something txt-ish fi fi done; 我的问题是确定文件扩展名,然后采取相应措施。我知道问题出在if语句中,正在测试txt文件。 如何确定文件是否带有.txt后缀?
169 bash  scripting  file 

13
如何使用Ruby进行Shell脚本编写?
我要执行一些简单的Shell脚本编写任务 例如:从匹配某个正则表达式的文件列表中选择工作目录中的文件。 我知道我可以使用标准的bash和grep来做这种事情,但是我很高兴能够破解可以在Windows和Linux中运行的快速脚本,而无需记住大量的命令行程序和标志等。 我试图解决这个问题,但最终对应该在哪里获取信息(例如对当前目录的引用)感到困惑 所以问题是编写红宝石外壳脚本我需要知道Ruby库的哪些部分?
165 ruby  shell  scripting 

10
Bash中的eval命令及其典型用法
在阅读了bash手册页和关于此帖子之后。 我仍然很难理解该eval命令的确切功能以及这将是其典型用法。例如,如果我们这样做: bash$ set -- one two three # sets $1 $2 $3 bash$ echo $1 one bash$ n=1 bash$ echo ${$n} ## First attempt to echo $1 using brackets fails bash: ${$n}: bad substitution bash$ echo $($n) ## Second attempt to echo $1 using parentheses fails bash: 1: command …
165 linux  bash  shell  scripting  eval 

6
#!/ usr / bin / python3的目的
我已经用几种脚本语言注意到了这一点,但是在此示例中,我使用的是python。在许多教程中,它们将从#!/usr/bin/python3第一行开始。我不明白为什么会有这个。 操作系统不应该知道它是python脚本(显然是安装的,因为您正在引用它) 如果用户使用的不是基于Unix的操作系统怎么办 无论出于何种原因,该语言都安装在其他文件夹中 用户具有不同的版本。特别是当它不是完整版本号时(例如Python3 vs Python32) 如果有的话,由于上面列出的原因,我可以看到这破坏了python脚本。
160 python  scripting 

16
删除bash中除最新X文件以外的所有文件
在带有bash的漂亮标准UNIX环境中,是否有一种简单的方法来运行命令以从目录中删除除最近的X文件以外的所有文件? 再举一个具体的例子,想象一下某些cron作业每小时将一个文件(例如,日志文件或已压缩的备份)写到目录中。我希望有一种方法可以运行另一个cron作业,该作业将删除该目录中最旧的文件,直到少于5个文件为止。 需要明确的是,只有一个文件存在,永远不要删除它。
157 bash  unix  scripting 


13
如何在Linux中的bash脚本中显示GUI消息框?
我正在Ubuntu Linux下编写一些bash脚本。我希望能够从GUI运行它们而无需终端窗口来输入任何输入或查看任何输出。 到目前为止,唯一需要输入的是sudo的密码-gksudo可以很好地处理。但是我还没有找到显示消息框的简便方法。有某种类型的“ gkmessage”命令可用吗?我希望默认的Ubuntu安装中包含某些内容,但是如果有必要,我不介意安装新软件包。
151 linux  bash  scripting  ubuntu  gtk 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.