我是 Linux 和 Bash 脚本的新手。在工作中,我看到 Bash 脚本的结构与此类似:
mkdir build && cd build && touch blank.txt
Run Code Online (Sandbox Code Playgroud)
或者:
mkdir build; cd build; touch blank.txt
Run Code Online (Sandbox Code Playgroud)
甚至是异国情调:
COMMAND="mkdir build && cd build && touch blank.txt"
eval ${COMMAND}
Run Code Online (Sandbox Code Playgroud)
最后一个示例给出了一个可能的用例,其中一行可能有用,但通常以下内容更易于阅读并且(至少对我而言)允许您直观地调试脚本:
mkdir build
cd build
touch blank.txt
Run Code Online (Sandbox Code Playgroud)
在一条线上塞满所有东西是否有技术优势?
我有以下命令。
cd import
zcat urls1.sql.gz | mysql -u root -p urls
cd /var/www/project1/
nano 1.php
Run Code Online (Sandbox Code Playgroud)
截至目前,我正在一一执行。
有没有办法将这些命令组合在一行中?
我可以 (1) 准备一个用结束行分隔的键入命令的文件,(2) 使其可执行,(3) 从文件系统管理器或终端运行它。
但这对于不可重复和每次其他命令集来说是荒谬的。
我可以在一个请求中向终端输入这些命令吗?
我不知道终端的行尾字符 - Ctrl、Shift 或 Alt 与 Enter 键不起作用。
我读过&&和|| 我想在错误的情况下运行两个命令。
我已经尝试过,;但一直在运行。我试过把它放在花括号中,{ command1; command2 }但这会导致语法错误。
我想做类似的事情
command && echo "Ok, continuing" || echo "Check internet connection"; exit 1
Run Code Online (Sandbox Code Playgroud)
只有在没有互联网连接时才会退出。
我遇到了一个头痛的问题。
我想在后台执行多个命令,所以我想在 bash 中一一启动它们。在后台启动linux shell中的一个命令很容易,就像这样:
myCommand &
Run Code Online (Sandbox Code Playgroud)
启动多个命令也很容易,就像这样:
myCommand1 && myCommand2
Run Code Online (Sandbox Code Playgroud)
或者
myCommand1 ; myCommand2
Run Code Online (Sandbox Code Playgroud)
但是如果我想在后台运行多个命令,我尝试了以下命令格式,但失败了:
myCommand1 & && myCommand2 &
Run Code Online (Sandbox Code Playgroud)
或者
myCommand1 & ; myCommand2 &
Run Code Online (Sandbox Code Playgroud)
两种格式都失败。如何&在一个命令行中运行多个命令?
让我们假设在目的地有两个二进制文件,例如XXX和。我想立即启动它们,总是!换句话说,当我统一输入其中任何一个的名称时,我想让它们都开始。我怎样才能更改目的地的相应文件呢?我在终端上试过这个,但它似乎不起作用。YYY/usr/bin//home/username/.local/applications//usr/bin/XXX;/usr/bin/YYY;
目前,我有这个目录结构:
/Downloads
/Download 1/
/Download 2/
/Download 3/
...
Run Code Online (Sandbox Code Playgroud)
我想要这个目录结构:
/Downloads
Download 1.zip
Download 2.zip
Download 3.zip
...
Run Code Online (Sandbox Code Playgroud)
Essentially, I want to zip Download 1 into Download 1.zip and then remove Download 1.
What would be the fastest/easiest way to achieve this? I'm running Ubuntu 12.04.
The reason I'm asking is because this folder is shared on my local network. When people ask this on my Apache Web Server, I want them to download Download 1, so I need …