【Linux-在gnome-terminal -x中运行bash函数】教程文章相关的互联网学习教程文章

linux – 如何使用来自Bash的iconv递归重命名文件和文件夹【代码】

我一直试图用iconv递归重命名文件和文件夹,但没有成功,文件被正确重命名但文件夹没有. 我用于文件的是(完美的):find . -name * -depth \ -exec bash -c 'mv "$1" "${1%/*}/$(iconv -f UTF8 -t ASCII//TRANSLIT <<< ${1##*/})"' -- {} \;我尝试过的文件和文件夹(失败:只重命名文件夹):find . -exec bash -c 'mv "$1" "$(iconv -f UTF8 -t ASCII//TRANSLIT <<< $1)"' -- {} \;原始问题:我只想批量重命名大量文件,使它们“网络友好...

linux – 用于创建自定义缩略图的Bash脚本【代码】

我需要一个bash脚本来获取某些指定文件夹中的所有图像;取出它们的分辨率,如果它低于最小值则不做任何操作,否则创建一个中等拇指图像(200150像素). 我在Windows中使用Imagemagick.但是在linux上,我不能使用相同的脚本,所以我需要编写一个新的脚本. 这就是我到目前为止所提出的.#!/bin/bash for files in /path/to/image/*doTESTFILE=`echo "$files" | sed 's/|/ /g' | xargs file -b | awk '{print $1}'`while read FCHECKSIZE=`fil...

linux – Bash ASCII实现【代码】

我开始学习vim并开始使用类似于1978年经典的Space Invaders的bash游戏进行shell脚本编写.我对ASCII艺术比较陌生,我想知道以编程方式定义太空飞船等内容或从文件中读取字符内容是否更好?如果是这样,你会推荐什么,你将如何以编程方式解决它?#!/bin/bashfunction getShip() { declare -r FILENAME=/Users/demetriusford/space_shipfor index in $FILENAME; docat $index done }文件内部:* /\ *!__/()\__!/==: :== (/\/\)...

linux – 用于读取USB UPS状态的Bash脚本【代码】

我有一个UPS通过USB端口连接到我的Linux机器.不幸的是,UPS不受支持,并且不会显示为重新配置的设备.但是它使用lsusb命令正确显示. 我想通过简单的bash脚本(例如由cron触发)从我的UPS读取电池状态.我不想要一个功能齐全的脚本,因为它需要知道特定UPS的协议;我只想创建一个脚本来编写原始命令并在给定已知USB地址的情况下从UPS读取原始响应,然后由我来编码实际命令并解析响应. 谢谢.解决方法:您可以使用普通的echo命令将字符串直接发送...

linux – 用于在bash脚本中循环和休眠【代码】

我有一个带有for循环的bash脚本,我想要睡X秒.#!/bin/sh for i in `seq 8`; do ssh w$i 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'; done & pid=$! kill -9 $pid在Bash:睡2睡2秒.我想在2秒后自动杀死pid.解决方法:喜欢在评论中提出建议#!/bin/sh for i in `seq 8`; do ssh w$i 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'; done & pid=$! sleep 2 kill -9 $pid在这个版本中,一个ssh进程可能永远存在.所以也许最好...

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 – conda source deactivate:bash:deactivate:没有这样的文件或目录【代码】

我使用官方安装帮助程序将Conda安装在与Ubuntu 16.4上的默认位置不同的位置. 现在conda create和source activate工作,但source deactivate给了我错误:(deep) yuqiong@yuqiong-G7-7588:/media/yuqiong/DATA$source deactivate bash: deactivate: No such file or directory我在Github上检查了这个问题:#458: “Using source deactivate on a conda env fails unless the root anaconda directory is in PATH”.这似乎是相关的,但我...

linux – 如何编写一个bash shell脚本来ssh到远程机器并更改用户并导出一个env变量并执行其他命令【代码】

我有一个在多个不同的远程redhat机器上运行的web服务.每当我想要更新服务时,我将从版本控制库(我使用perforce)同步下来用perl编写的新web服务源代码,并使用新的同步下行perl代码重新启动服务.我认为一个接一个地登录远程机器并执行一系列命令以逐个重新启动服务实在太无聊了.所以我写了一个像下面这样的bash脚本update.sh,以便“一次做一次,更新所有机器”.我将在本地计算机上运行此shell脚本.但它似乎无法奏效.它只执行第一个命令...

linux – bash(可以使用perl / python):通过正则表达式过滤空格分隔的arg列表【代码】

我有一组正则表达式,应该针对空格分隔列表中的每个项目进行测试. 我希望这些项目能够在其中包含将被转义的空格.所以:abc def\ ghi jkl abc由4个项目组成,abc,def ghi,jkl和abc. 如果我的一套正则表达式是b k$ ^g输出应该是abc abc似乎grep -f可以让我在那里大部分时间,但我必须处理一个处理转义空间的方法,所以我不能只是从空间到换行符. 编辑:我想我可以使用sed做一个转义空间感知的常规空格替换到换行符.在从换行符回来的路上,...

linux – Bash Shell中的BMI计算器【代码】

我试图在Linux中使用Bash shell创建一个脚本来计算BMI.我知道我只是在做一些愚蠢的事情,但我似乎无法使它发挥作用.它不会做分裂.你能看出我出错的地方吗?#!/bin/bash#==============================================================# Script Name: bmicalc# By: mhj# Date: March 25, 2014# Purpose: calculates your bmi from your weight & height#====================================================...

linux – scp到远程主机而不在该主机上执行bash_profile文件【代码】

我有一台主机,其.bash_profile文件有一些用户提示(bash read命令),在读取用户的一些输入后,它根据输入执行一些命令.这完全没问题. 现在,当我尝试scp东西到这个主机时,它执行.bash_profile(因为scp首先ssh到远程主机)并且它提示用户输入和scp失败.我想要的是当有人试图scp到这个主机时跳过执行.bash_profile(我个人认为这不可能)或者知道有人试图scp in .bash_profile(以某种方式在.bash_profile中捕获它)并相应地跳过一些命令. TIA...

linux – 通过ansible调用远程bash函数【代码】

是否可以通过ansible ad-hoc命令(使用shell,命令模块?)调用bash中定义的远程函数(例如,在/etc/profile.d中存储的一个脚本中添加) 例如,我有以下功能,可以查看apt历史的状态:function apt-history(){case "$1" ininstall)cat /var/log/dpkg.log | grep 'install ';;upgrade|remove)cat /var/log/dpkg.log | grep $1;;rollback)cat /var/log/dpkg.log | grep upgrade | grep "$2" -A10000000 | grep "...

linux – Bash输入&ctrl-z按键【代码】

我有一个minicom的命令,通过调制解调器用SSH / Putty发送短信,这是命令AT^HCMGS="destination number"<press ENTER> > SMS message <press CTRL + Z>使用minicom成功执行命令 我想问一下如何模拟按ENTER和&在bash中按CTRL Z.我可以写这样的脚本吗?#!/bin/bash echo -e -n "AT^HCMGS="888"(I don't know how to insert enter/return)" > /dev/ttyUSB0 echo -e -n "SMS message (I don't know how to insert ctrl+z)" > /dev/ttyUSB...

linux – 在Bash中,一旦命令失败,如何不创建重定向输出文件【代码】

通常我们可以将命令输出重定向到文件,如下所示:cat a.txt >> output.txt正如我尝试的那样,如果cat失败,仍会创建output.txt,这不是我的预期.我知道我可以这样测试:if [ "$?" -ne "0"]; thenrm output.txt fi但是,在我的cat执行之前已经存在这样的output.txt时,这可能会导致一些问题开销.所以我还需要在cat之前存储output.txt状态,如果在执行cat之前已经有这样的output.txt,我不应该错误地输出output.txt …但是在竞争条件下可能仍...

linux – 使用R Markdown将bash脚本作为Cron作业运行【代码】

我想尝试如何从R markdown文件渲染html,但是从作为Cron作业运行的bash脚本中渲染.我不知道为什么一切正常,除了作为Cron工作运行.我所做的: 我的脚本是Rstudio的演示脚本--- title: "test" author: "sms" date: "24 maja 2015" output: html_document ---This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <htt...