我让我的 Mac 在夜间醒来并运行 rsync 来备份它。这是通过节能器 > 计划配置的。
然而,它似乎在完成任何事情之前会重新进入睡眠状态,所以我需要在 rsync 运行的 bash 脚本的执行过程中停止它进入睡眠状态。
我认为最好的方法(如果可能的话)是发出一个命令,在 rsyncs 之前将睡眠超时设置为“从不”或很长的超时,然后在完成后恢复正常。有没有更好的解决方案来做到这一点?
我有一个需要几个小时才能运行的 bash 脚本。在它运行时,我想做其他事情,这可能涉及注销或断开互联网连接(我的脚本在各种计算机上运行网络测试)。
我知道有一个命令可以让我从远程终端运行我的测试并在终端运行时注销。有谁知道这个命令是什么?
我正在尝试为 git pre-commit 钩子创建一个 bash 脚本。每当进行提交时,我想检查某个目录中的文件是否是暂存文件的一部分,如果是,则运行命令(Grunt 任务)。到目前为止,我一切正常,除了只有在修改某些文件时才运行。我正在努力让它发挥作用:
SRC_PATTERN="site/assets/js/"
if [ grep --quiet $SRC_PATTERN `git diff --cached --name-only` ]
then
echo "none"
exit 0
fi
Run Code Online (Sandbox Code Playgroud)
不幸的是,这给了我错误。
Windows 10 周年更新刚刚发布,我立即安装了适用于 Linux 的 Windows 子系统,看看它的表现如何。到目前为止,我只发现了一个主要缺点:没有明显的方法可以使用 root 帐户作为默认值。
我知道这违背了许多最佳实践,但我个人不喜欢sudo在大多数命令前输入。当我打开一个文本文件进行编辑时,这会变得特别烦人nano,却发现我不得不放弃我的更改,因为我没有使用sudo.
有没有办法让终端默认以 root 身份启动?
bash ubuntu-14.04 windows-subsystem-for-linux windows-10-v1607
当我尝试运行时:
ping www.google.com
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ping: icmp open socket: Permission denied
Run Code Online (Sandbox Code Playgroud)
跑步sudo并没有什么区别。
bash windows-10 windows-subsystem-for-linux windows-10-v1607
我正在按照此处的代码段改进我在 Mac OSX 中的终端命令。
它通过导出alias ls='ls -GFh'到 bash 配置文件将 ls 结果的默认值设置为人类可读。这非常方便,但有时我想以字节为单位查看文件的确切大小(以便将其与另一个文件进行比较)。
我怎样才能做到这一点?有没有我可以使用 ls 的命令来强制它以字节为单位显示结果?
我可以使用其他命令来获取文件大小吗?
我想到了,du -s但它只会让我估计该文件的已用磁盘空间,并且最小大小是千字节块。
以下ls命令是什么意思?
ls -l *\:2,*T
Run Code Online (Sandbox Code Playgroud)
ls = 列表-l = 长(列表)*T可能意味着T最后但是那个*\:2和逗号呢?
我有返回 JSON(响应正文)的端点。我需要通过 curl 响应主体并对其进行处理(例如使用 jq)。有用:
response=$(curl -s https://swapi.co/api/people/1/?format=json)
name=$(echo $response tmpFile | jq '.name') # irrelevant command, but I need here response body
echo "name:"$name
Run Code Online (Sandbox Code Playgroud)
但我还需要显示 HTTP 代码(以显示请求是否成功):
curl -s -w "%{http_code}\n" -o /dev/null https://swapi.co/api/people/1/?format=json
Run Code Online (Sandbox Code Playgroud)
如何将响应主体设置为变量并同时显示 HTTP 代码(一个请求)?
我找到了解决方案女巫临时文件:
touch tmpFile
curl -s -w "%{http_code}\n" -o tmpFile https://swapi.co/api/people/1/?format=json
name=$(cat tmpFile | jq '.name') # irrelevant command, but I need here only body response
echo "name: "$name
rm tmpFile
Run Code Online (Sandbox Code Playgroud)
不创建文件怎么办?
我尝试使用命名管道(但它仍然需要在磁盘上创建文件...):
mkfifo tmpFifo
curl -s -w "%{http_code}\n" -o tmpFifo https://swapi.co/api/people/1/?format=json
name=$(cat …Run Code Online (Sandbox Code Playgroud) 我刚刚遇到了下面给出的命令-
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
据我所知,它可能用于提交 .bash_profile 中的更改,但它究竟用于什么?
我想w用于下一个单词和b上一个单词。如果我能做得更多,我会更快乐。
如果这很重要,我会使用 bash。
bash ×10
terminal ×3
command-line ×2
macos ×2
windows-subsystem-for-linux ×2
curl ×1
expansion ×1
git ×1
iterm2 ×1
linux ×1
mac ×1
pipe ×1
process ×1
rsync ×1
sleep ×1
ssh ×1
ubuntu-14.04 ×1
vim ×1
windows-10 ×1