bash脚本

以下是为您整理出来关于【bash脚本】合集内容,如果觉得还不错,请帮忙转发推荐。

【bash脚本】技术教程文章

如何在Ubuntu和Windows(Cygwin)中使用的bash脚本中设置Java类路径

我正在编写一个bash脚本,它应该执行一些需要特定类路径的Java应用程序. 此外,这个脚本应该可以在Ubuntu和Ubuntu上执行. Windows(Cygwin). 问题:Windows上的分隔符是“;” Ubuntu上的分隔符是“:”.这导致java -cp A.jar; B.jar Main在Windows上(当使用cygwin时,因为它使用Windows’java)和java -cp A.jar:B.jar Main在Ubuntu上. 问题:如何在bash脚本中检测哪个底层操作系统正在运行/使用哪个java classpath分隔符?解决方法:一...

linux – 用于大写字母的Bash脚本检查字符串【代码】

我正在尝试检查任何大写字母的字符串.我的代码显示任何输入没有UPPER,可能是“sss”,“Sss”,“SSS”if [[ "$pass" =~ [^a-zA-Z0-9] ]] thenecho "Upper found" elseecho "no upper" fi解决方法:[^ a-zA-Z0-9]表示除a-z之外的任何内容,即小写字母,A-Z,即大写字母,以及0-9,即数字. sss,Sss,SSS都只包含字母,所以无法匹配.[[ $password =~ [A-Z] ]]如果密码包含任何大写字母,则为true. 例如,您应该在运行此类测试之前设置LC_ALL$LC_A...

linux – 将Bash脚本转换为Shell

我有一个用Bash编写的脚本列表,现在我需要将它们转换为Shell脚本.我知道bash是Shell规范的扩展实现,因此,我正在寻找Bash中实现的扩展的一些规范,即Bash中不属于Shell规范的内容,所以我可以查看我的脚本并做出适当的修改.有这样的文件吗?或者,我们将非常感谢有关如何进行转换的任何其他建议.解决方法:要将Bash脚本更改为POSIX compatible shell代码,您必须删除任何bashisms.虽然我认为没有任何工具可以可靠地处理所有bashisms,您可...

linux – Bash脚本继续关键字不破坏循环迭代【代码】

我正在学习一系列教程来学习Bash shell脚本.其中一个练习是遍历当前目录中的文件并在这些文件中搜索模式.如果找到模式,那么脚本应该总结这些文件的文件大小.#!/bin/sh patern=echo totalSize=0for file in * do[ ! -f $file ] && continue if grep $patern $file > /dev/nullthen echo "pattern matched in $file" echo "file size is `stat -c%s $file`"fileSize=`stat -c%s $file`totalSize=`expr $totalSize + $fileSize`e...

linux – 来自bash脚本的ssh-add并自动化密码输入【代码】

我正在尝试从脚本执行ssh-add(此时不关心安全性). 现在ssh提示密码短语,需要自动化,所以我读了很多东西,比如this,发现了expect. 现在我做以下事情:eval `ssh-agent -s`脚本tmp.sh定义为:#!/usr/bin/expect spawn ssh-add /root/.ssh/id_rsa expect "Enter passphrase for /root/.ssh/id_rsa:" send "my_pass" interact./tmp.sh ssh-add -l 如果ssh-add可行,它会显示类似的内容 4096 SHA256:wlfP / nhVSWXLcljBOen5GSYZXJGgfi / ...

linux – 如果bash脚本的条件有什么问题【代码】

我安装了ZSH的Ubuntu 18.04.我有这个bash脚本来检查目录是否存在. 即使我有一个名为“?/ .config”的目录,但条件总是为负.我似乎无法弄清楚我的代码有什么问题. setup.sh#!/bin/bashif [ -d "~/.config" ] ; thenecho "Directory exist" elseecho "Does not exist" fi使用chmod x ./setup.sh使文件可执行输出始终不存在解决方法:由于您已编写“?/ .config”,因此将其视为文字字符串.要允许~shell扩展,您需要不加引号:#!/bin/bash ...

linux – 为什么这个字符串的值在bash脚本中正在执行?【代码】

为什么此脚本在if语句中执行字符串:#!/bin/bash FILES="*" STRING=''for f in $FILES doif ["$STRING" = ""]thenecho firstSTRING='hello'elseSTRING="$STRING hello"fi doneecho $STRING用sh script.sh输出时运行它:first lesscd.sh: line 7: [hello: command not found lesscd.sh: line 7: [hello hello: command not found lesscd.sh: line 7: [hello hello hello: command not found lesscd.sh: line 7: [hello hello hello ...

linux – 如何从bash脚本中完全静音vlc输出?【代码】

我有一个我为自己编写的脚本,它使用vlc到某个地方结束,我需要它停止输出它想要的东西,但保留我自己的输出(所以没有“清除”). 我使用了参数:“ – q”和“–no-sout-x264-quiet”但无效,它仍然输出丑陋的消息,即:“警告:调用rand()”和“阻止:.. .“和”Gtk-WARNING ** …“ 我尝试重定向’vlc …> err.log’,它没有帮助…… (编辑[忘记添加]:重定向’>’不起作用,文件为空) 我在vlc -H搜索但是它的大量并且有> 20“安静”的...

linux – 使用bash脚本读取数字【代码】

编写一个bash脚本,它将从用户读取10个整数,并将输出附加到文件’XYZ’.您不能在脚本中多次使用“读取”语句.#! /bin/bashfor i in {0,1,2,3,4,5,6,7,8,9} doread "i"echo "0,1,2,3,4,5,6,7,8,9" >> XYZ done我是学生,只是为了学习这个,我觉得很难,你能给我一些建议吗?我认为这应该有很多问题.非常感谢你.解决方法:让我们看看你已经拥有的东西.你的for循环执行10次迭代的read命令,read只在脚本中出现一次.您还可以将输出(&??gt;>)附...

linux – 如何在指定的时间段内在bash脚本中运行命令?【代码】

比方说,只有当前时间是从上午11点10分到下午2点30分才能运行“命令”.如何在bash脚本中完成此操作? 下面用伪语言写的东西:#!/bin/bash while(1) {if ((currentTime > 11:10am) && (currentTime <2:30pm)) {run command;sleep 10;} }解决方法:其他答案忽略了当一个数字从0开始时,Bash将在基数8?中解释它.因此,例如,当它是上午9点时,日期’%H%M’将返回0900,这是Bash中的无效数字. (不再). 一个适当而安全的解决方案,使用现代Bas...