Articles of bash

在linux中用batch file启动多个firefoxconfiguration文件

可以用firefox -P <profile-name> -no-remote启动不同的firefoxconfigurationfirefox -P <profile-name> -no-remote 但是,当我想同时在Linux中使用batch file启动多个configuration文件时,只有第一个configuration文件启动,并且后续configuration文件才会启动,直到退出前一个configuration文件。 目前我用这个批处理脚本不成功: #! /bin/bash firefox -P "profile 1" -no-remote firefox -P "profile 2" -no-remote firefox -P "profile 3" -no-remote 基本上, profile 1开始罚款,但profile 2不会启动,直到我先退出Firefox; 直到退出前一个命令才会执行。 在Windows中,我已经成功设法使用这个bat文件同时启动多个firefox: start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "profile 1" start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "profile 2" start "" "C:\Program Files […]

在java程序的不同目录中运行Bash命令

程序说明: 我正在编写一个Java程序,其中当前目录是/ home / user / Desktop。 我想在“location / home / user / project /”中运行一个bash命令“du -s”来查找该文件夹的大小,以便我可以在我的项目中使用该文件夹的大小。 我不能发布整个代码,因为它有一些敏感的数据。 我只是张贴需要的代码。 这是我所做的: import java.io.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.File; public class Exec_in_cur_dir { public static void main(String[] args) { try { StringBuffer output = new StringBuffer(); String Command ="cd /home/user/project"; //Bash Command // […]

在linux上安排一个zenity消息

我想每天在特定的时间在Linux上创build一个简单的提醒。 我正在使用crontab来计划运行提醒脚本,而在脚本中,我正在使用zenity来显示一个简单的对话框的问题。 在更多的细节,我有以下脚本reminder.sh : #!/bin/bash zenity –question –text="question?" 然后,使用crontab -e ,我添加以下任务来运行每一分钟(仅用于testing): * * * * * /path/to/reminder.sh 但是对话框不出现。 我添加了一些其他命令的脚本,我确认脚本每分钟运行,但对话框仍然不出现! 任何提示?

bash中的对话框不能正确地获取variables

我对这个脚本的一致性有点问题。 你可以运行一次,没有任何问题。 但是,如果立即将其加载并重新运行,则不会正确获取variables,因为输出不会以正确的方式写入文件。 例如:该实用程序旨在更新4个文件。 .temp,.tiers,.version和.sync通过对话提示的各个阶段,它会更新一个文件。 我的问题是,有些时候它不会更新文件,我不能find任何原因,因为它只有在你已经运行一次。 我在启动时擦除了文件,所以我不确定这个交易是什么。 这就像是从内存中抓取它? 无论如何,要testing这个,你需要在/ test下面的文件 感谢任何能给我一些指导的人。 cat .tiers Stable=1 Release=2 Beta=3 码: #!/usr/bin/env bash touch .version touch .temp VERSION=`cat .version` DIR=/test/ STORED=`cat ${DIR}/.temp` ################################ # REARRANGE TIERS # ################################ rearrange() { start end } ################################ # SYNC FILE EXISTS # ################################ sync_exists() { dialog –msgbox ".sync exists in the directory […]

获取刚启动的屏幕会话的PID

你如何获得刚刚创build的屏幕会话的PID,如: screen -dm -S test ping localhost screen -ls There is a screen on: 3310.test (09/04/15 14:07:41) (Detached) 我想要3310 我正在看Bash:获得守护进程的屏幕会话PID,但它不符合我所需要的。 我一直在尝试 screen -dm -s test ping localhost | echo $! 但是pid被两个或者一个关掉了

如何编写多个ssh和scp命令到不同的系统

我想编写一系列涉及多个ssh和scp调用的命令。 我每天都会自己手动执行这个任务: 从LOCAL系统,ssh到SYSTEM1 mkdir / tmp / data在SYSTEM1上 从SYSTEM1,ssh到SYSTEM2 SYSTEM2上的mkdir / tmp / data 从SYSTEM2,SSH到SYSTEM3 从SYSTEM3:/ data到SYSTEM2:/ tmp / data的scp文件 退出到SYSTEM2 从SYSTEM2:/ data和SYSTEM2:/ tmp / data到SYSTEM1:/ tmp / data的scp文件 rm -fr SYSTEM2:/ tmp / data 退出到SYSTEM1 从SYSTEM1:/ data和SYSTEM1:/ tmp / data到本地:/ data的scp文件 rm -fr SYSTEM1:/ tmp / data 我每天至less做一次这个过程,在不同的系统之间需要大约5-10分钟的时间,然后再进行清理。 我真的想在bash脚本中自动化这个,但是到目前为止我的业余尝试都没有成功。 正如您可能会怀疑的那样,系统通信受到限制,这意味着LOCAL只能看到System1,System2只能看到System1和System3,system3只能看到system2等等。 做这个的最好方式是什么? 此外,System1是许多其他系统的集线器,因此SYSTEM2必须由用户指定(与任何SYSTEM2相比,System3始终具有相同的相对IP /主机名)。 我试着把这些命令按照正确的顺序放在一个shell脚本中,然后在提示时手动input密码(这已经是一个巨大的效率增益),但是这个方法不起作用,或者我的脚本执行是错误的。 […]

不能在bash中增加一个variables

我正在尝试创build一个脚本来计算运行该脚本的文件夹中隐藏和非隐藏文件的数量。 但是,我碰到一个问题,我不能增加variables。 #!/bin/bash #A simple script to count the number of hidden and non-hidden files in the folder this script is run in #Variables to store the number of hidden and non-hidden files and folders #Variables with a 'h' at the end represent hidden items files=0 fileh=0 #List all files and folders #Use grep to […]

使用bash脚本连接到远程SQL Server

我们公司在另一个国家有一个db(SQL Server)。 我有主机名,用户名和数据库的密码。 我想通过bash shell从数据库中提取数据,并把它们放到本地文件中。 我怎样才能做到这一点?

Linux中的dynamic环境variables?

有没有可能在Linux中有dynamic环境variables? 我有一个网站服务器的网站遵循这个布局: site/ qa/ production/ 我想有一个环境variables(例如APPLICATION_ENV),当我在qa目录中时设置为“qa”,当我在生产目录中时,设置为“production”。 原因是各个站点可以使用许多不同的stream程,所有stream程都需要知道是QA还是生产环境。 一些网站在Apache下使用PHP,一些使用Node.js,一些网站使用命令行工具,cron作业等等。 我希望得到一个关于是质量保证还是生产环境的授权来源。

如何在远程主机上运行bash函数()? 在Ubuntu中

我正在运行一个bash脚本,但是当我尝试在远程机器上运行函数时,它说 bash: keyConfig: command not found 这是我的脚本: keyConfig() { sed -i.bak -r "/^$1/s/([^']+')([^']+)('.*)/\1$2\3/" $3 } remoteExecution() { ssh ppuser@10.101.5.91 " keyConfig $1 $2 $4 " } remoteExecution