Articles of bash

一旦find另一个string就replace一个string

我以编程方式构build框,但我需要更新PHP的.repo文件,它具有以下内容: # Repository: http://rpms.remirepo.net/ # Blog: http://blog.remirepo.net/ # Forum: http://forum.remirepo.net/ [remi] name=Remi's RPM repository for Enterprise Linux 6 – $basearch #baseurl=http://rpms.remirepo.net/enterprise/6/remi/$basearch/ mirrorlist=http://rpms.remirepo.net/enterprise/6/remi/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php55] name=Remi's PHP 5.5 RPM repository for Enterprise Linux 6 – $basearch #baseurl=http://rpms.remirepo.net/enterprise/6/php55/$basearch/ mirrorlist=http://rpms.remirepo.net/enterprise/6/php55/mirror # NOTICE: common dependencies are in "remi-safe" enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php56] name=Remi's PHP 5.6 RPM repository […]

为什么$ SHELL在bash中运行zsh指向/ bin / bash?

如果我在bash (macOS Sierra)中运行zsh ,为什么$SHELL仍然指向/bin/bash ,而不是/bin/zsh ? $ echo $SHELL /bin/bash $ zsh % echo $SHELL /bin/bash

新手系统pipe理员 – Bash脚本协助

我是一个正在学习angular色的新系统pipe理员。 我在这里有一个bash脚本,我无法工作。 这只是一个testing脚本作为我的第一个,所以我知道设置authorized_keys到777是不明智的,但我只是做它来检查我的脚本是否现在工作。 我正在使用LDAP的密码,所以用SSH密钥远程设备是不理想的,所以我使用SSH通行证。 此代码工作到useradd,然后它不mkdir .ssh,不触摸/创buildauthorized_keys,并不会更改文件的权限。 为什么? #!/bin/bash -x username="test" echo Enter server IP: read server sshpass -p randompassword ssh myusername@$server sudo -i 'useradd test1; echo $username user added, press any key to continue; read; sudo -i; mkdir /home/test1/.ssh; cd /home/test1/.ssh; touch authorized_keys; chmod 777 authorized_keys' 我可能不了解有关bash脚本正确的东西,但所有这些命令需要在远程机器上运行。

在Bash中获得`哪个应用程序`输出

这是我在StackOverflow.com的原始问题 这是我写的脚本 #!/usr/bin/env bash GP=`/usr/bin/which git` PWD=`pwd` echo "PATH IS: ${GP}" echo "PWD IS: ${PWD}" 和输出是 PATH IS: PWD IS: /Users/user/tmp 所以问题是如何得到which git输出? 我在Mac OS X 10.6.2上运行它。

新问题:在CentOS 5.5上无法使用“服务”命令

像这样的页面说,你可以 service iptables restart …但我得到一个command not found错误。 我尝试了yum install service但没有这样的软件包。 我如何重新启动服务?

百胜 – testing是否安装了某些东西,然后使用Bash脚本

有没有一种很好的方法来使用Yum来testing是否安装了某些东西(true为false),然后在Bash脚本中使用该答案?

sed regexp / d删除整个文件

给定一个典型的known_hosts文件: [123.45.67.89]:22 ssh-rsa bbuivvhbkbjdnflksndkfnksnfk… [98.76.54.32]:14444 ssh-rsa hohdibsodbfoasbfbsabdfbsd… [77.34.122.33]:32209 ssh-rsa bksdjncknsdbcksbdcbhdhhb… 不知道文件中的行号,但知道IP地址。 以下删除文件中的所有行: sed '/98\.76\.54\.32/d known_hosts > known_hosts' 我希望我只是错过了一些荒唐简单的东西。 在这里testing我的正则expression式给了我需要的匹配,我的印象是: sed '/pattern/d' file > file 应该只放下/ pattern /匹配的第一行。 我知道我不是正则大师,也不是bash高手,但我认真地想,这不会是一个search,两个咖啡的战斗。 任何人都可以扔我骨头? 编辑:4分钟的答案,所有权利。 我知道这是荒谬的。 希望我的愚蠢在别人的search中出现。

recursion删除文件(bash)

我很熟悉如何用PHP解决这个问题,但是我想用bash脚本来做更多的练习。 任务是删除文件夹中的所有文件,文件本身包含子文件夹(包含文件)。 这些文件通常是.pdf(或某些变体:PDF,Pdf,pDf等),但偶尔也可能有其他文件types,包括目前未知的扩展名。 这是我迄今为止。 它回应文件名,但是如果我发出rm $ i,系统将返回每个文件中找不到的文件。 for i in `ls -bRC1 /foo/temp_folders/* ` ; do echo $i ; rm $i ; done 发行rm $ i时我怎么强制绝对path?

何时使用Bash,何时使用Python / Perl / Ruby?

什么时候编写Bash脚本以及什么时候使用更强大的脚本语言(Python,Perl,Ruby,…)? 我发现很简单的脚本比Bash更好,但是随着时间的推移,很多脚本都会变得非常有趣,而且重写整个事情似乎不是一个好主意。 这就是为什么我倾向于总是使用Python的所有脚本。 但是因为Bash似乎是Linux脚本的通用语言,那么一个负责任的系统pipe理员会做些什么呢?

如何添加一个variables到一个grep命令

我正在运行以下grep命令 var=`grep -n "keyword" /var/www/test/testfile.txt` 这工作正如所料,但我需要从一个循环dynamic插入文件名如下所示: var=`grep -n "keyword" /var/www/test/`basename ${hd[$i]}`.txt` 但显然是使用““““““““““““““““““““`当使用` 任何想法离开这个?