在 linux 机器上有什么方法可以将目录中的每个文件移动到它们自己的子目录中(即创建一个以它命名的目录并将其移入)?
有人可以帮助我使用 shell 脚本来计算指定时间范围内访问日志中 500 个 HTTP 响应条目的数量吗?
我有一个用 utf8 编码的 bash 脚本。
在脚本中,我使用 sed 命令§作为分隔符。
现在,当我运行执行此脚本时会sed抱怨分隔符。
如果我使用普通字符作为 ex 的分隔符,@那么一切正常。
我已经在 putty[set utf8 in putty] 中查看了脚本,并且字符看起来很好。
还有来自locale命令的Linux 默认字符集显示
LC_CSET=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
可能出了什么问题?
早些时候,我曾经对 shell 脚本使用 windows-1252 编码,这曾经有效。
我写了一个安装脚本来安装我喜欢的程序和设置后我得到一个新的服务器。
apt-get install git
git clone http://me@myvimsetting.github.com .vim
ln -s .vimrc .vim/vimrc
...
Run Code Online (Sandbox Code Playgroud)
但是,如果在安装过程中发生错误,我该如何中断安装脚本并记录错误?例如,如果github服务器宕机,创建一个指向不存在的vimrc.
(或者您有更好的方法来初始化服务器?)
我有一个 .reg 脚本:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SeleniumRC\Parameters]
"Application"="C:\\Program Files (x86)\\Java\\jre6\\bin\\java.exe"
"AppDirectory"="D:\\SeleniumRC"
"AppParameters"="-Xrs -jar selenium-server-standalone-2.0b1.jar"
Run Code Online (Sandbox Code Playgroud)
我想从 .bat 文件运行它,但我想传递当前目录而不是 D:\SeleniumRC。我怎样才能做到这一点?
当我执行如下命令时,它会按预期给我一个输出,但是当我在远程服务器上运行相同的命令时,它总是给我echo $?作为0.
locally
# <some command>
# echo $?
Remotely
# ssh server " <some command >; echo $? "
Run Code Online (Sandbox Code Playgroud)
现在,在远程执行的情况下,我总是得到0的echo $?输出。
我正在编写一个脚本,该脚本每天动态执行一些查询。这些查询来自数据库中的一个表。
以下是查询表的示例输出:
+---------------+-------------------------------+---------+
| query_name | query | userid |
+---------------+-------------------------------+---------+
| All_User | select * from users LIMIT 10; | jmatthe |
+---------------+-------------------------------+---------+
Run Code Online (Sandbox Code Playgroud)
现在,我必须select * from users LIMIT 10;动态执行查询。我正在读取输出的每一行并存储来自输出的查询。
query_name=$(echo $query | cut -d\| -f1)
query_sql=$(echo $query | cut -d\| -f2)
query_user=$(echo $query | cut -d\| -f3)
Run Code Online (Sandbox Code Playgroud)
现在这里是问题出现的地方。因为我的行中包含一个*字符,所以echo $query扩展*以将其替换为当前目录中的文件。所以基本上,我的query_sql商店是这样的。
select batchemail.sh query_output.txt from tbl_query
Run Code Online (Sandbox Code Playgroud)
我想保留*行中的 ,以便在我的query_sql变量中得到相同的结果。我希望我的query_sql变量存储原始数据。
select * from tbl_query
Run Code Online (Sandbox Code Playgroud)
有人可以指导我吗?
mysql command-line-interface unix-shell echo shell-scripting
我有像下面这样的文件名
adn_DF9D_20140515_0001.log
adn_DF9D_20140515_0002.log
adn_DF9D_20140515_0003.log
adn_DF9D_20140515_0004.log
adn_DF9D_20140515_0005.log
adn_DF9D_20140515_0006.log
adn_DF9D_20140515_0007.log
Run Code Online (Sandbox Code Playgroud)
我想从文件名中获取年、月、日并创建目录
前任: [[ ! -d "$BASE_DIR/$year/$month/$day" ]] && mkdir -p "$BASE_DIR/$year/$month/$day";
如何实现这一目标并分享您的想法/脚本
我正在使用命令行按照相同的模式手动执行相同的命令多次。现在我正在寻找一种方法来简化它,只需输入一次命令即可。
让我们看一个普通的 docker 示例:
docker ps
docker ps -a
docker ps -l
docker stop x
docker start x
docker start y
docker logs y
docker logs -f z
Run Code Online (Sandbox Code Playgroud)
此示例也适用于更多命令,例如 git、brew、gulp、gcloud。
现在我正在寻找某种命令包装外壳,它允许我编写with docker将任何命令包装在嵌套/子外壳中的命令。
然后我不需要在docker命令前面加上命令,只需调用:
>ps
# does docker ps and displays result
>stop x
# prepends docker so docker stop x is actually executed
CTRL+C # to exit the command wrapper
Run Code Online (Sandbox Code Playgroud)
像这样的东西已经存在了吗?我在谷歌上搜索它,但无法正确描述它,因此我没有找到任何东西。
我希望有人可以帮助我解决这个问题。我已经尝试了一段时间了,有各种各样的变化,似乎无法让它发挥作用。
我正在尝试编写一种方法来登录https://login.three.ie/以从 */My_account_balance 检查帐户余额
我已经尝试了各种 wget 命令,但从我读到的内容来看,curl 更有可能完成这项任务。
我一直在尝试我在网上遇到的变体,包括从这里开始的 stackoverflow,但似乎没有任何效果。
这是我尝试的最后一个:
curl -X POST -c cookies.txt -u "Uern@me:P@ssw0rd" https://login.three.ie/
Run Code Online (Sandbox Code Playgroud)
这确实将 cookie 文件保存在此处:
$ cat cookies.txt
Netscape HTTP Cookie File
#http://curl.haxx.se/docs/http-cookies.html
This file was generated by libcurl! Edit at your own risk.
HttpOnly_login.three.ie FALSE / FALSE 1433988274
laravel_session eyJpdiI6IkFZWmxvZ2oyXC9NNGVIbHVpejZwRWp3PT0iLCJ2YWx1ZSI6Imxkd25UKzBoMldiQlhYZVJnVUpuNUVsblZ1cGJYZWcwM2E1bTtIWHRiQ2pwV0VwemJ4NFlYcDlzTndSeFRNanpwdDhMMTIrS2RGZGdGd0RNZU1yREJ3PT0iLCJtYWMiOiI0NWUwYzc1TY4ODI3ZmY3ODY5NjliODkxODMyODIzMjQwNmNkNjljNTE2NzQxNmQ4MzhhNDljNTdjM2QwZGY1In0%3D
Run Code Online (Sandbox Code Playgroud)
但是当我尝试重新使用 cookie 时,它看起来像是重定向或其他东西,因为这就是我得到的:
$ curl -b cookies.txt https://my3account.three.ie/My_account_balance
<html><head><title>302 Moved Temporarily</title></head>
<body bgcolor="#FFFFFF">
<p>This document you requested has moved temporarily.</p>
<p>It's now at <a href="https://sso.three.ie/mylogin//login?auth-
required=seamless&service=https%3A%F%
2Fmy3account.three.ie%2FMy_account_balance">https://sso.three.ie/mylogin//login?auth-required=seamless&service=https%3A%2F%2Fmy3account.three.ie%2FMy_account_balance</a>.</p>
Run Code Online (Sandbox Code Playgroud)
我不明白这里发生了什么。有没有人知道出了什么问题,或者更好,如何解决这个问题?
谢谢