Questions tagged «scripts»

脚本是写在“纯文本”文件中的一系列指令。脚本解释器(例如Bash或其他Shell,Python,Perl,Ruby等)读取文件并执行指令,就像在命令提示符下输入了指令一样。

2
Unity Launcher中的自定义右键单击操作使光标忙20秒
要通过右键单击Unity启动器(Ubuntu 14.04)中的图标来具有“最小化窗口”选项,我按照此处有关更改.desktop文件的详细说明进行操作,并Firefox在~/.local/share/applications/文件夹中创建了自定义启动器。.desktop文件的相关部分是: Actions=NewWindow;NewPrivateWindow;Minimize [Desktop Action NewWindow] Name=Open a New Window Exec=firefox -new-window OnlyShowIn=Unity; [Desktop Action NewPrivateWindow] Name=Open a New Private Window Exec=firefox -private-window OnlyShowIn=Unity; [Desktop Action Minimize] Name=Minimize Windows Exec=sh /home/myusername/Documents/xdotool_sh/minimize.sh firefox OnlyShowIn=Unity; 桌面操作“ Minimize”将调用一个简单的shell脚本,minimize.sh该脚本具有以下内容: #/bin/bash name=$1 for i in $(xdotool search --class "$name"); do xdotool windowminimize $i done 该脚本使用xdotool可以从官方存储库安装的来查找所有firefox窗口,对其进行迭代并最小化它们。 …

5
在Ubuntu上运行在记事本(Windows)中创建的脚本
我在Windows上创建了一个记事本文件,并将其复制到Ubuntu。该文件包含一些iptables规则。使用chmod +x并执行可执行文件后,它不起作用。 但是,当我创建一个Ubuntu(gedit)文件并从记事本文件复制相同的内容,使其可执行并运行后,它就可以工作了。 如何使Notepad文件在Ubuntu上运行?

2
仅以sudo身份运行脚本的一部分,仅输入一次密码
我正在编写一个脚本(实际上是脚本和makefile的组合),该脚本安装了外部依赖项:一些apt-get命令,一些git克隆,构建,安装,将用户添加到组中,... 这些脚本中的某些操作需要超级用户权限,而某些则不需要。 到目前为止,我已经使用sudo运行了整个make过程,但是它有一些缺点: git我克隆root以所有者身份获取的回购协议,这意味着以后如果没有sudo或chown 自whoami返回以来,将用户添加到组的脚本不知道要添加哪个用户root 以超级用户身份仅运行需要超级命令的命令的最佳方法是什么?理想情况下,该过程仍然需要我输入sudo密码,但在安装过程的开始阶段仅输入一次即可。然后,它会在最后忘记它,但要一直保留到那时(可能要花几个小时)。 我在网上找到的解决方案包括: sudo -v在脚本开始时,但如果我理解正确,则超时。我的脚本可能会运行几个小时 运行的脚本sudo,但那些命令并不需要超级用户使用sudo -u $(logname) <command>。这就是我现在要做的,但是感觉应该相反。 理想情况下,我希望脚本执行以下操作: 要求超级用户凭证 以登录用户身份运行常规命令 使用在步骤1中输入的凭据运行sudo命令 sudo -k 关闭超级用户会话
14 sudo  scripts 

2
安装违规浏览器
编辑:只看接受的答案。在撰写本文时,我还不知道它是如何工作的,所以我在下面猜测。 我是Linux新手,所以这可能是一个菜鸟问题。我正在尝试安装一个新的Web浏览器,称为Breaking,该浏览器是JavaScript专门内置的Node.js,我想尝试对其进行一些修改。 我从他们的站点外安装了tar文件夹,并且有一个名为AUTO_UPDATE_BUNDLE的文件夹和一个名为Breaking.sh的文件,我相信该突破文件是bash脚本,我猜这就是我的安装方式。(我不知道这是否正确。) 因此,我在网上查找了如何运行bash脚本。我进入了终端,这就是我在breaking.sh文件目录中写的内容。 sh breach 我得到这个错误。 [3428:3428:0710/191300:858123323:FATAL:browser_main_loop.cc(172)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. Aborted (core dumped) 然后,我导航到上面指向code.google.com / ...的链接,它说 我们需要一个SUID帮助程序二进制文件才能在Linux上打开沙箱。 在大多数情况下,您可以运行build / update-linux-sandbox.sh,它将在/ usr / local / sbin中为您安装适当的沙箱,并告诉您是否需要更新.bashrc。 我不明白我该怎么跑build/update-linux-sandbox.sh。是否在我的根目录中构建目录?我尝试在那里搜索,但找不到。 我将不胜感激,如果我正确安装此浏览器的方向错误,而不是在错误的地方进行纠正。提前致谢。

2
如何使用文件夹路径sed和替换字符串
我正在尝试编写以下bash脚本: HOME_DIR=/opt/my_home find ./CONFIG -type f -exec sed -i "s/_HOME_DIR_/$_HOME_DIR/g" {} \; 我要在文件中更改的行是这样的: users = "_HOME_DIR_/config/data/_DOMAIN_/users.conf" 因此,最终结果必须是: users = "/opt/my_home/config/data/_DOMAIN_/users.conf" 但是我没有得到...我想这是因为逃逸字符... 谁能阐明一些想法? 谢谢

6
使应用程序静音的脚本
我的目标是能够使Spotify应用程序而不是整个系统静音。使用命令:ps -C spotify -o pid=我能够找到Spotify的进程ID,在这种情况下,该ID为"22981"。使用该进程ID,我想从以下列表中进行搜索:pacmd list-sink-inputs。该命令返回如下列表: eric@eric-desktop:~$ pacmd list-sink-inputs Welcome to PulseAudio! Use "help" for usage information. >>> 1 sink input(s) available. index: 0 driver: <protocol-native.c> flags: START_CORKED state: RUNNING sink: 1 <alsa_output.pci-0000_00_1b.0.analog-stereo> volume: 0: 100% 1: 100% 0: -0.00 dB 1: -0.00 dB balance 0.00 muted: no current latency: …


3
连接到无线网络后调用脚本
连接到特定的无线网络后,是否可以通过一种方法来调用Shell脚本?我要这样做的原因是我必须先登录到网络才能开始使用它,并且如果可能的话,我想使其自动化。 我读到这个问题:每次我连接到特定的无线网络时,是否都可以运行脚本? 但是我真的不确定如何使用新贵来做到这一点。

5
如何使整个目录可执行?
我有一个专用于python脚本的整个文件夹。 我对在我编写的每个新python脚本上执行chmod感到厌倦。 如果它是python脚本,是否可以使文件夹中的每个文件都可执行? 最好有一个脚本来检查何时创建新的.py脚本,以及是否有新的.py脚本使其当场可执行。 我使用Vim。

1
以#$开头的bash脚本行是什么意思?
我发现这个bash脚本在GitHub上,我想用我自己的工作。我的问题是:2至5行是什么意思?他们只是评论还是有任何目的? #!/bin/bash #$ -l h_rt=72:00:00 #$ -V #$ -N index_calc #$ -j y source ~/modules.sh cd $1 l_file=`find . -name 'L*stack' -type f` for l in $l_file; do echo "Running on file:" echo $l extract=${l:0:45} name=${extract}_index.tif echo "Name of index stack:" echo $name echo "Executing code..." ~/Documents/misc/spectral/transforms.py \ -v $l …


3
如何逐步加密正在下载的文件?
我曾经先下载文件,然后再openssl对它们进行加密,但这对我来说还不够。如何在下载文件时逐渐加密下载内容? 我考虑过使用curl和openssl管道,但无法弄清楚。 有没有更好的工具来执行此操作?
13 bash  scripts  wget  openssl  curl 

5
如何编写一个有或没有参数的脚本?
我有一个bash脚本,它像这样: #!/bin/bash if [ $1 = "--test" ] || [ $1 = "-t" ]; then echo "Testing..." testing="y" else testing="n" echo "Not testing." fi 因此,我想做的不仅是使用./script --test或来运行它./script -t,而且还不使用任何参数(只是./script)来运行它,而且如果我使用当前代码来执行该输出,则输出看起来就是: ./script: line 3: [: =: unary operator expected ./script: line 3: [: =: unary operator expected Not testing. 那么,我该如何编程以使其完全不带任何参数地运行else而不会抛出错误呢?我究竟做错了什么?


1
如何将命令发送到特定的终端窗口?
我想编写一个脚本,用于在单独的终端中同时打开多个程序(服务器)-无关紧要-并通过在正确终端内“登陆”的命令将不同的命令分配给不同的终端。这可能吗? 也许是这样的: 打开终端1 //与1同时打开terminal2。 command1 //在terminal1中执行而无需打开新的终端窗口 command2 //在terminal2中执行而无需打开新的终端窗口 ... 我可以以某种方式标记终端窗口,以便在正确的终端内执行命令吗? 我还想在它们的程序运行时观察所有终端-我的程序有一个参数,用于将跟踪/调试打印到终端。所以我想看看它们之间交换了什么消息。 注意:我不太担心交换数据的安全性,因为该脚本应充当“模拟”。我已经将每个服务器配置为从本地主机上分配的端口运行。

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.