【linux – Bash 19个字符没有任何理由消失】教程文章相关的互联网学习教程文章

linux – 使用bash正则表达式验证文件内容【代码】

如何验证以下文件内容? 这应该是包含单个整数/浮点数的bash正则表达式或任何其他与awk / sed的想法. 例:cat /var/VERSION/Version_F35_project_usa 2.8解决方法:使用grep,如果匹配则表示有效:grep -P '^[0-9]+(\.[0-9]+)?$' infile.txt上面的正则表达式可以用于sed或awk或任何命令.sed -n -Ee '/^[0-9]+(\.[0-9]+)?$/p'awk '/^[0-9]+(\.[0-9]+)?$/'这里还检查文件是否与此正则表达式匹配.awk '/^[0-9]+(\.[0-9]+)?$/{print "ma...

linux – 如何在bash中查看我当前的用户/密码?【代码】

我目前正在Windows上的Ubuntu上安装Bash. 我安装了Bash并正常设置用户.一切都运行良好,但我不想继续用每个命令做sudo.我卸载然后重新安装’在Wwindows上的Ubuntu上的Bash’lxrun /install /y它保存了用户名,但不保存以前的密码.我正在尝试查看我正在使用的用户的当前密码. 如何在Bash中查看我的用户的密码?解决方法:无法查看操作系统用户密码是什么.密码以hashed格式存储.你只能检查你是否知道一个权利.这不仅是安全威胁,而且密码...

linux – Bash完成抛出语法错误【代码】

问题: 假设我正在尝试更改为名为“build”的目录,该目录位于我当前所在的目录中.我开始:cd b然后我按Tab键一次(知道当前的目录中没有其他目录以字母b开头).我希望能看到以下内容,随时准备让我根据需要点击返回或更改或扩充.cd build但是,在运行Linux Peppermint 3的上网本上,我发现按下标签按钮会出现这种情况:cd bbash: command substitution: line 74: syntax error near unexpected token `done' bash: command substitution...

linux – 限制集在哪里? bash:fork:retry:没有子进程【代码】

这个:$seq 100000 | xargs -P0 -n1 -I {} bash -c 'echo {};sleep {}' : 5514 bash: fork: retry: No child processes当系统运行11666个进程时,他们开始抱怨5500左右.现在,11666对我来说真的很惊讶:$ulimit -u 313370 $cat /proc/sys/kernel/pid_max 313370 $grep hard.*nproc /etc/security/limits.conf * hard nproc 313370为什么我只能运行11600个进程? 编辑: 对另一个用户进行测试我得到6100(...

linux – 如何使bash脚本等到挂载pendrive?【代码】

我有一个bash脚本,它有一行cd / run / media / Username / 121C-E137 /一旦CPU识别笔驱动器就会触发此脚本,但只有在安装过程完成后才能执行此行.到目前为止,该行在安装笔式驱动器之前执行,并返回目录无效的错误.解决方法:一个简单的解决方案是让脚本定期检查目录,并且只有在那里继续:PENDRIVE='/run/media/Username/121C-E137' while [ ! -d "$PENDRIVE" ]; dosleep 10 donecd $PENDRIVE ...

linux – 在bash脚本中,比uuencode编码电子邮件附件有哪些更好的选择?【代码】

我正在引用my original post,其中我询问有关$2 $3等参数放置的问题,最后是${@:2}.有人提到有更好的方法来编码电子邮件附件. 注意,我使用uname -or来找出2.6.32-400.26.3.el5uek GNU / Linux,如果这有助于回复. 我在bash脚本中使用该命令将文件附加到电子邮件中,并将其与其他几个脚本一起使用.但是,我们的一些机器甚至不支持uuencode,那么将文件附加到电子邮件比uuencode更好的选择是什么?解决方法:我更喜欢使用mpack将附件作为MI...

linux – 杀死bash脚本创建的进程的最佳方法?【代码】

我有一个在服务器上运行的脚本,它将创建许多子进程(大约800个).我想一口气杀死他们.以下是ps信息.root 26363 0.0 0.0 119216 1464 ? Ss Mar02 0:00 SCREEN -S website_status root 26365 0.0 0.0 108472 1844 pts/12 Ss Mar02 0:00 \_ /bin/bash root 4910 0.0 0.0 161684 1956 pts/12 S Mar02 0:00 \_ su webmon webmon 4939 0.0 0.0 108472 1924 pts/12 S+ Mar02...

linux – 在bash脚本中继续之前等待通过ssh运行的脚本完成【代码】

我有一个看起来像这样的脚本:command1 command2 ssh login@machine_with_lots_of_ram:~/script_that_needs_ram.sh command4 output_file_from_above其中命令4需要ssh命令的输出. 如何让程序等到ssh脚本完成后再继续?或者更好的是,如何在命令1之后设置ssh脚本在远程计算机上运行并保持程序运行命令4直到它完成?解决方法:在远程服务器上执行命令(脚本)之前,SSH会话不会退出. 根据脚本是将数据输出到服务器上的文件还是将数据输出到...

linux – 使用Bash写入/ sys中的设备?【代码】

我有一个these: 基本上,它是一个带有三个LED(红色,绿色和蓝色)的USB设备. Linux内核已经通过usbled模块支持了这个设备很长一段时间了.但是,我不确定如何从Bash脚本实际控制设备. / sys目录包含以下文件:root@desktop:/sys/devices/pci0000:00/0000:00:13.0/usb5/5-3/5-3:1.0# ls bAlternateSetting bInterfaceSubClass ep_81 red bInterfaceClass blue green subsystem bInterfaceNumber bNumE...

linux – Bash:'[”也是”’这样的程序?

测试条件[是一个程序,它位于/usr/bin/[中的基于debian的发行版中.我想知道其他条件测试员[[也是一个程序? 我问的原因是:我授予某个用户sudo权限让他触发shell脚本.出于安全原因,我正在为每个程序添加完整路径(echo到/ bin / echo和[to /usr/bin/[]),因此用户无法更改其PATH以使用自己的程序.现在我想知道我是否必须改变[[,也是.解决方法:男人打击RESERVED WORDSReserved words are words that have a special meaning to the she...

持久性Bash提示符前缀Linux【代码】

我希望将FQDN作为bash前缀而不是仅使用主机名.所以我可以改变root@web: ~$至root@web.domain.tld: ~$我已经知道这可以通过使用:PS1="\[\u@$(hostname -f): \w\]\$"但这不是持久的 – 当我重新登录时,它始终是默认的主机名.那么有没有办法使这种持久性?解决方法:感谢@dawud和@EsaJokinen的评论我发现了一个解决方案.更换PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$'同PS1="\[\u@$(hostname -f): \w\]\$"在/etc/bash.bashr...

linux – 用于验证rpm是否至少在给定版本的Bash脚本【代码】

我需要编写一个脚本来验证RPM是否至少是Linux中的给定版本. >问题1:如何在变量$RPM_VERSION中获取RPM版本,以便它包含一直到“.src.rpm”的版本?>问题2:比较两个版本的最佳方法是什么? 例如:rpm-4.2-9.69.src.rpm与rpm-4.14-0.69.src.rpm相比.这是我的尝试,但它不起作用:STR_BASE_ACCEPTABLE_VER="rpm-4.2-0.69.src.rpm"if [[ "$RPM_VERSION" < "$STR_BASE_ACCEPTABLE_VER" ]]; then echo "$RPM_VERSION is too low..." e...

linux – 在bash中没有杀死进程的超时【代码】

我有一个我正在运行的主脚本,从中我有第二个“慢进程”我想开始,并且如果在时间限制内没有完成,则在主脚本中“做一些事情” – 取决于如果它完成了.注:如果“慢速过程”在我的时间限制之前结束,我不想要等待整个时间限制. 我希望“缓慢的过程”继续前进,这样我就可以收集关于它的性能的统计数据和取证. 我已经研究过使用timeout,但是在完成后会杀死我的脚本. 假设这个简化的例子. main.shresult=`timeout 3 ./slowprocess.sh` if ...

linux – Bash eval数组变量名【代码】

这是我的bash案例: 第一种情况,这就是我想用myvarA做的“别名”var:myvarA="variableA" varname="A" eval varAlias=\$"myvar"$varname echo $varAlias数组变量的第二种情况并循环其成员,这是微不足道的:myvarA=( "variableA1" "variableA2" ) for varItem in ${myvarA[@]} doecho $varItem done现在不知怎的,我需要像示例1那样使用“别名”技术,但这次是对于数组变量:eval varAlias=\$"myvar"$varname for varItem in ${varAli...

linux – 如何在bash中移动数组值【代码】

我们想要构建6个挂载点文件夹作为示例/data/sdb /data/sdc /data/sdd /data/sde /data/sdf /data/sdg所以我们使用数组编写了这个简单的bash脚本folder_mount_point_list="sdb sdc sdd sde sdf sdg"folderArray=( $folder_mount_point_list )counter=0 for i in disk1 disk2 disk3 disk4 disk4 disk5 disk6 do folder_name=${folderArray[counter]} mkdir /data/$folder_name let counter=$counter+1 done现在我们想要在没有计数器的...