我在下面的“ lxadmin ”目录中有许多 .conf 文件,并怀疑文本“ tanguay.info ”在其中之一的某个地方。
我执行这个命令:
cat /etc/httpd/conf/lxadmin/* | grep "tanguay.info"
Run Code Online (Sandbox Code Playgroud)
它告诉我:
cat: /etc/httpd/conf/lxadmin/forward: Is a directory
Include /home/httpd/tanguay.info/conf/lxadmin.tanguay.info
Run Code Online (Sandbox Code Playgroud)
所以我知道它在某处,但它没有告诉我在哪个文件中。
我怎样才能让它也告诉我文本位于哪个文件中?
我正在启动这样的 ssh 隧道:
ssh -f -N $PORT:127.0.0.1:$port example.com
Run Code Online (Sandbox Code Playgroud)
在-f放ssh到后台,这就是我想要的。这是有效的,因为设置了 SSH 隧道。但是如果我使用,jobs我看不到列出的 ssh 连接。怎么来的?
系统管理员向我提供了一个 bash 脚本,它需要我输入三个值。使用“read”读取值而不是直接从命令行读取。
echo "Enter value:"
read myValue
echo "Enter value 2:"
read myOtherValue
Run Code Online (Sandbox Code Playgroud)
我要输入的三个值是可预测的,我需要经常运行这个脚本,所以我想自动化它;但是,简单地在命令行中使用 params 执行脚本是行不通的。
./script.sh myValue myOtherValue
Run Code Online (Sandbox Code Playgroud)
我可以提供第一个值,如果我回显它然后将它传递给脚本,但这仅适用于第一个参数。我不知道如何以这种方式传递其余的。
echo "myValue" | ./script.sh
Run Code Online (Sandbox Code Playgroud)
我无权修改脚本以仅读取参数。
有任何想法吗?
如何关闭对我的基于 PHP-Apache 的网站使用的一些 bash 脚本的访问?
我的index.php文档根目录中有一个文件/var/www/。index.php应该调用当前在/var/www/scripts/目录中的一些 bash 脚本。但是,我不喜欢这些脚本可以通过请求从 Internet 下载的事实http://mysite.com/scripts/script1.sh。
如何关闭对脚本的访问,允许它们被调用index.php?
自从我开始在 Ubuntu 中编写 bash 脚本以来,我一直很好奇,我一直想知道是否有办法以 root 身份登录或运行 sudo 命令,而无需在终端中提示您手动输入密码。
是否可以将密码硬编码到一行中,例如“echo mypassword”并让 sudo 读取 echo 命令而不是为自己键入?
我环顾四周,如果您将 root 设置为没有密码,这是我不想要的。
我刚刚在玩 bash,看看我是否可以以 root 身份登录并仅通过 bash 脚本在 root 中运行命令:
#!/bin/bash
echo mypassword | sudo apt-get install frozen-bubble
Run Code Online (Sandbox Code Playgroud)
这只是出于我纯粹的好奇心,只是想知道如果可能的话如何实现它。谢谢。
如果这是相关的,我使用的是 Ubuntu 9.04。
我有一些文件和文件夹都是大写的,我想将它们重命名为对应的小写字母。在 Linux 系统上用 bash 执行此操作的最佳方法是什么?
作为一个例子,我可能有:
.
|-- FOLDER0
| |-- SUBFOLDERA
| `-- SUBFOLDERB
`-- FOLDER1
`-- AFILE.TXT
Run Code Online (Sandbox Code Playgroud)
我想将其转换为:
.
|-- folder0
| |-- subfoldera
| `-- subfolderb
`-- folder1
`-- afile.txt
Run Code Online (Sandbox Code Playgroud)
我可能可以编写一个深度优先递归脚本来执行此操作(深度优先以确保文件和子文件夹在其父文件夹之前重命名),但我想知道是否有更好的方法。rename可能有用,但它似乎不支持递归。
我有一个 crontab 作业设置。在 crontab 文件中,我有一个文本文件的路径。我的文本文件有一个 wget 命令(它依次执行一个 PHP 文件)。如果 crontab 文件只有文本文件的路径,它会自动重击(执行)该文本文件吗?或者我是否需要使用 bash 为文本文件的路径添加前缀?
这是我写的脚本
#!/usr/bin/env bash
GP=`/usr/bin/which git`
PWD=`pwd`
echo "PATH IS: ${GP}"
echo "PWD IS: ${PWD}"
Run Code Online (Sandbox Code Playgroud)
和输出是
PATH IS:
PWD IS: /Users/user/tmp
Run Code Online (Sandbox Code Playgroud)
所以问题是如何获得which git输出?我在 Mac OS X 10.6.2 上运行它。
我想在下午 6 点在远程服务器上运行脚本,但不想等待触发它。我不想使用 cron,因为它是一次性交易。
我可以使用“sleep”或“after”命令执行诸如“nohup myscript &”之类的操作吗?
谢谢!