Articles of shell

似乎无法在bash中创build文件

我试图在debian 7中使用这个(在root帐户下)代码。 #!/bin/bash cat > /root/.ssh/github.id_rsa << EOF —–BEGIN RSA PRIVATE KEY—– XYZ… —–END RSA PRIVATE KEY—– EOF chmod 600 /root/.ssh/github.id_rsa 当我导航到这个文件夹后,它告诉我,它不存在。 我已经检查和双重检查,但不能解决我做错了什么。 编辑:当我手动运行命令它似乎工作! 但我试图运行这个作为shell脚本的一部分。

命令在bash脚本执行过程中失败

我正在做一个bash脚本来自动化一些常见的任务,但我有一些问题,我需要一些帮助。 这是我正在谈论的脚本: #!/usr/bin/env bash PS3='Please enter your choice: ' options=("Prepare environment" "Create new group" "Add users to group" "Change directory ownership" "Change directory permissions" "Quit") select opt in "${options[@]}" do case $opt in "Prepare environment") read -e -p "Enter the work directory: " -i "/var/www/html/" directory cd directory echo "Updating BOWER…" npm -g update bower […]

使用PowerShell; 从给定的位置我想要validation的文件夹,并显示特定的文件types各自的文件夹的数量

从给定的位置使用PowerShell我想要validation的文件夹,并显示特定文件types的数量各自的文件夹。 我试图使用该命令来计算一个文件夹中的文件数量,我可以得到在指定的位置可用的文件总数。 我试过这个: Write-Host ( Get-ChildItem -filter '*cab' 'C:\Users\praveen\Desktop\Package _Sprint04\Sprint04\lfp\Niagara\hpgl2\win2k_xp_vista').Count if (Get-Process | ?{ $Count -eq "13"}) { Write-Host "Number of CAB files are right!" } else { Write-Host "Incorrect!! number of CAB file" }

安装PHP扩展到正确的PHP版本

我们的Linux CentOS6机器上有5.3.3和5.6.7两个版本的PHP,并且希望将PHP扩展memcache和imagick安装到5.6.7。 以root身份login,使用yum,我们安装了这两个,但是意识到它们只能在5.3.3中使用,而不能在最新版本中使用。 这是我们使用的命令: $ yum install ImageMagick ImageMagick-devel $ pecl install imagick $ echo "extension=imagick.so" > /etc/php.d/imagick.ini 我们尝试将imagick.so和memcache.so从旧的扩展目录复制到5.6.7的扩展目录,但没有任何运气。 我们如何将这些扩展安装到我们的最新版本PHP 5.6.7? 或者有没有办法解决这个问题,而不重新安装任何东西? 编辑: 要安装PHP 5.6.7,我使用了这个要点给出的步骤: https://gist.github.com/Stayallive/dbb91ffa6f0fc6ca6ac3

如何检索唯一文件名部分的列表?

包含迁移脚本的文件夹具有如下所示的SQL和PHP文件组合: 2015-03-22.23-00.up.sql 2015-03-23.19-00.up.development.sql 2015-03-23.19-00.up.production.sql 2015-03-23.19-00.up.sql 2015-03-23.19-00.up.staging.sql 2015-03-27.14-00.up.php 我想获得文件的所有独特date/时间部分的列表。 示例文件夹应导致: 2015-03-22.23-00.up 2015-03-23.19-00.up 2015-03-27.14-00.up 注:最多的部分可能包括也可能不包括在内。 我已经拿出这个代码: $Files = Get-ChildItem -Filter '*.up.*' -File $Files = $Files | Select BaseName -Unique | Sort-Object BaseName foreach($File in $Files) { $RegEx = '(.*)\.up'; $FileSchemaVersion = $File.BaseName -replace $RegEx,'$1' Write-Line $File # Do something } 不幸的是,它包括了开发,生产,升级。 所以实际结果是: 2015-03-22.23-00.up 2015-03-23.19-00.up.development 2015-03-23.19-00.up.production 2015-03-23.19-00.up 2015-03-23.19-00.up.staging […]

使用mysqldump进行备份并将其放到另一台服务器上(Bash)

我正在使用cron作业每小时进行一次备份,现在我想在默认情况下将这些备份放到另一台服务器上。 我的脚本如下: mysqldump -u db_user -p db_password db_name| gzip > /current/path/for/backups/backup_$(date).sql.gz 我能做些什么来改变另一台服务器上新path的当前path?

sudoers文件中如何把sudo作为参数

我想给具体的用户允许把tabulator作为参数来编程。 完全调用看起来像: sudo /sbin/vgs –units b –nosuffix –noheadings –separator 'TAB' 我试图把它像: user ALL=(ALL) NOPASSWD: /sbin/vgs –units b –nosuffix –noheading –separator 'TAB' (TAB当然是制表符)。 不幸的是 – 它不起作用 – sudo要求input密码并且不能识别命令。 当我省略“TAB”部分 – 它工作正常。 问题是与TAB字符,并与'。 如何避免它,并允许把制表符作为参数?

如果粘贴包含一个或多个返回字符的文本,请防止在Linux中意外执行命令

有时候,如果剪贴板上的文本被粘贴到shell中,并且它包含一个返回字符,它将会执行,即使这不是这个意图。 有时候,即使多行可能被错误粘贴,然后可能会运行意外的命令。 我理解在一个完美的世界里,这些错误永远不会发生,但是有没有办法来防止这种错误避免人为错误的风险?

如何在linux中编辑/ proc /分区文件

我知道/ proc是一个VFS,不能由用户从shell提示符更新。 这是从一开始我的理解。 现在,我正在编写一个代码,并处理损坏的/ proc /分区文件。 我准备好了我的代码,并且需要破坏文件来testing我的代码。 我知道机会是非常less的,但是我想检查所有其他人,如果它可能在那么做呢? 任何肮脏的testing模拟方式都可以。 我已经尝试过vi,echo,mv,rm和我的小脑袋可以碰到但是不能这样做。 任何方式可能?

通过在apache日志中访问的页面查找IP(awk?)

我有一堆的Apache访问日志文件,我想知道哪些IP地址访问我的/ contacts文件夹。 如何使用shell命令从所有日志文件中收集这些文件?