Questions tagged «scripting»

脚本是由解释程序执行而不是编译为独立可执行程序的命令或指令序列。

3
python == python2或python == python3吗?如何打包,分发python py2k脚本?
取决于系统,python== python2或python== python3。 可执行的Python脚本,开头为: #!/usr/bin/env python #!/usr/bin/env python2 #!/usr/bin/env python3... 对于python py3k,它在文档中提供了,我应该/可以将其与版本号一起使用,所以我这样做: #!/usr/bin/env python3 但是我发现py2k脚本有问题。 在py2k文档中,它被编写为使用:#! /usr/bin/env python, 在某些* nix-es上,python py3k是默认设置,因此python == python3。(例如ArchLinux python package,这里是python package files)。 如何打包(配置,制作)和/或准备python脚本进行分发以处理该问题? 我问有关制作易于用户运行的软件包(无需修改环境)的问题 我可以对python py2k脚本和python py3k脚本执行相同的技巧并将其设置为:#!/usr/bin/env python2吗?我可以确定每个python py2k发行版都包含python2文件,因此#!/usr/bin/env python2可以正常工作吗? 如果是,为什么不建议将其作为标准,例如在python py2k文档中?

3
如何从bash脚本观看rss feed中的新条目?
我需要从我们的hudson ci服务器上观看RSS提要。每次有新条目可用时,我都想通过致电播放声音#>play sound.wav。 有人知道有一种工具可以监视rss提要并在每次出现新条目时触发命令吗? 我看了一下,rsstail但是它从提要中获取所有条目,而不是最新的,或者仅获取自上次查找以来的新条目。

5
IFS(内部字段分隔符)可以用作多个连续定界符char的单个分隔符吗?
使用具有非空格值的IFS解析数组会创建空元素。 即使使用tr -s将多个delims缩小到一个delim是不够的。 有一个示例可以更清楚地说明问题。. 是否有一种方法可以通过对IFS进行调整来实现“正常”结果(是否有相关的设置来更改IFS的行为?....即,与默认空白相同) IFS。 var=" abc def ghi " echo "============== IFS=<default>" arr=($var) for x in ${!arr[*]} ; do echo "# arr[$x] \"${arr[x]}\"" done # sfi="$IFS" ; IFS=':' set -f # Disable file name generation (globbing) # (This data won't "glob", but unless globbing # is actually needed, …
10 bash  shell  scripting 

3
我可以在Bash大括号扩展中使用变量吗?
以下是我要完成的某种伪代码: #!/bin/bash # I already have the variable below figured out (positive integer): numlines=$([returns number of lines containing specific characters in a file]) # This is basically what I want to do with it: for i in {1..$numlines}; do # the part below is already figured out as well: do …

6
如何设置Ruby GEM_HOME和GEM_PATH
我是Linux的NOVICE用户,并且使用Linux Mint 17.1 最近3天,我已为该问题重新安装了Linux Mint 20,但无法修复 我正在尝试使用rvm在rails上安装ruby,发生的事情是,如果启动新的Linux安装,并尝试在关闭终端会话后成功安装的一个终端会话中成功安装gems和ruby以及其他东西,那么我将无法获得这些gems 。 在过去3天中,通过重新安装20次以上,我也在网上进行了搜索。有人告诉我将环境变量/etc/environment放在该会话的回显路径中,并将其粘贴到/etc/environment文件中。 甚至现在我都没有安装宝石 键入时rvm -v出现以下错误 Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see: https://github.com/wayneeseguin/rvm/issues/3212 Warning! PATH is not properly set up, $GEM_HOME is not set, usually this is caused by shell initialization files - check them for 'PATH=...' …

4
Bash脚本如何知道其运行方式?
我正在尝试制作一个Bash脚本,以帮助我运行一个相当复杂的命令,并进行一些小的更改,使其通过echo和read向我询问。 我找到了迫使其运行终端以执行命令的解决方案,但我对此并不感兴趣。我想做的是,如果我在Nautilus中放开并在Enter上按Enter(使其与Run Software一起运行),它会轻轻弹出一个通知,提示“请从终端运行此程序”。 我可以使弹出窗口发生-就像我知道的命令一样-但我无法让Bash脚本来判断它是否在终端中运行,似乎总是这样。可能吗

7
获取字符的数字ASCII值
我正在尝试编写一个shell脚本,该脚本要求输入AZ或az范围内的ASCII字符并返回其等效数值。例如,输出可能如下所示: scarlet$ Please type a character between A and Z or between a and z: scarlet$ A scarlet$ The decimal value of A is: 65 我的尝试: #!/bin/bash echo Enter a letter: read A echo -n ${A} | od -i | head -1 | cut -b 10- | tr -d " …

3
将参数从文件传递到bash脚本
我有这种情况: ./ ./myscript.sh ./arguments.txt ./test.sh 在内部myscript.sh,我必须运行文件test.sh,并将其中包含的参数传递给它arguments.txt。 myscript.sh是: arguments=$(cat arguments.txt) source test.sh $arguments 如果arguments.txt最多包含一个参数,则此方法效果很好: firstargument 替换为: ++ source test.sh 'firstargument' 但是问题在于两个或多个参数。它这样做: ++ source test.sh 'firstargument secondargument' 另外,我也不知道内部的参数数量arguments.txt。可以为零或更多。

1
Bash保存后会自动将更新重新加载(注入)到正在运行的脚本中:为什么?有实际用途吗?
我正在编写bash脚本,并且在脚本等待while循环中的某些输入时碰巧更新了代码(将脚本文件保存到磁盘)。回到终端并继续执行脚本的先前操作后,bash给出了有关文件语法的错误: /home/aularon/bin/script: line 58: unexpected EOF while looking for matching `"' /home/aularon/bin/script: line 67: syntax error: unexpected end of file 因此,我尝试执行以下操作: 第一个:创建脚本,self-update.sh我们称它为: #!/bin/bash fname=$(mktemp) cat $0 | sed 's/BEFORE\./AFTER!./' > $fname cp $fname $0 rm -f $fname echo 'String: BEFORE.'; 脚本所做的是读取其代码,将单词“之前”更改为“之后”,然后使用新代码重新编写自身。 第二次运行: chmod +x self-update.sh ./self-update.sh 第三奇迹 aularon@aularon-laptop:~$ ./self-update.sh String: …
10 bash  shell  scripting 

2
删除另一个程序的标题栏
我开发了一个带有glut库的程序,并希望删除其标题栏。 由于无法从glut库中删除标题栏,因此我必须使用外部工具删除其标题栏。 关于可以在Windows操作系统中操纵其他Windows装饰这一事实,我希望找到解决此障碍的类似方法。 您对如何使用脚本或简单的X11应用程序删除特定的窗口标题栏有任何想法吗?
10 scripting  x11  window 



3
用户输入后使文本消失
有没有一种方法可以使显示的内容在用户输入后立即消失? 例如,在下面获取此文件 #!/bin/bash read -n 1 -p 'how are you ? ' var if [ "$var" == "y" ] then echo 'Have fun' else echo 'Go to Doctor' fi 如果运行此命令,则输出为 how are you ? yHave fun 我正在寻找能让how are you ?用户在按下按键后就消失的东西 然后消失后,打印 Have fun 所以,我希望上面程序的最后输出是 Have fun 注意:此外,在外壳屏幕上打印的该脚本之上的所有内容都不应删除。 我在用 bash
9 bash  scripting 

2
删除文件名中的换行符
我有一个PHP代码,该文件生成wget将在其上附加日志的文件名。我生成了2000多个文件,但是问题是我在使用它们时遇到了麻烦,因为我错误地将PHP_EOL其名称添加为该名称的一部分,该代码将LF/line feed/%0A以其名称添加 此类文件名的示例(通过浏览器访问时,放在/ var / www / html上)请http://xxxx/wget_01_a%0a.txt注意%0a扩展名之前的 我搞砸了,我希望有一个重命名批处理可以搜索所有文件,如果找到line feed它,它将在没有换行的情况下对其进行重命名,因此它将是http://xxxx/wget_01_a.txt 我不太确定如何处理该问题,因为看起来像当我ls在腻子上所有不限于该多余字符的特殊字符都变成时?,我只希望针对的是换行符。

1
从`pass`密码管理器中导出密码
我已经使用pass 密码管理器大约一年了,这很棒,但是有时我想测试其他密码管理器,然后需要我的密码。 到目前为止,我只是在需要时手动添加了它们,但是如果我想迁移到另一个密码管理器,则需要一个脚本,因为考虑到我已经接近了,我没有耐心一个接一个地进行操作。一百(如果不是更多)。 可能吗?已经有解决方案了吗? 在过去的几个月中,我一直在寻找一种解决方案,但一直找不到“仅运行此脚本并导出繁荣”的解决方案。 有这样的剧本吗?如果没有,我应该在哪里寻找什么?

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.