有这个脚本很难阅读和调试。
在它的某个地方,它有这样的命令:
sudo chmod -R 777 /$some_var/$another_var
Run Code Online (Sandbox Code Playgroud)
换句话说,它动态创建一条路径,然后递归地授予该路径权限。
但是,由于它需要互联网连接并下载内容,有时这些变量由于错误而为空,并且会执行以下命令:
sudo chmod -R 777 /
Run Code Online (Sandbox Code Playgroud)
这会破坏操作系统。我们需要再次重新安装它。
我们正在编写脚本,使其变得更好、更有弹性。但是,有没有办法阻止用户执行该命令root?
我的意思是,如果路径为 ,我希望该命令不可执行/,即使对于root用户而言:
sudo chmod -R 777 /
Run Code Online (Sandbox Code Playgroud) 正如 Ubuntu文档所说,我们需要启动Startup Disk Creator来创建可启动的 Ubuntu。
但是当我搜索它时,屏幕停留在“正在搜索”...
而且无论我等多久,它都找不到。
我应该怎么办?
更新:我正在使用 Ubuntu 20.04 LTS。这是echo /etc/os-release:
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Ubuntu 20.04 LTS 上安装 Docker。我正在使用官方文档。我以前做过,没有问题。
这是运行后的错误sudo apt-get update:
Hit:1 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:2 http://packages.microsoft.com/repos/code stable InRelease
Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Hit:4 http://ir.archive.ubuntu.com/ubuntu focal InRelease
Hit:5 http://ir.archive.ubuntu.com/ubuntu focal-updates InRelease
Get:6 https://download.docker.com/linux/ubuntu focal InRelease [52.1 kB]
Hit:7 http://ir.archive.ubuntu.com/ubuntu focal-backports InRelease
Err:6 https://download.docker.com/linux/ubuntu focal InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
Reading package lists... Done
W: GPG error: https://download.docker.com/linux/ubuntu focal InRelease: The following signatures couldn't be verified …Run Code Online (Sandbox Code Playgroud) 我.deb为 Ubuntu下载了 VS Code 的文件。我将其重命名为vs.deb.
然后我去我的下载目录:
cd ~/Downloads
Run Code Online (Sandbox Code Playgroud)
现在我在这里,我尝试安装它:
sudo apt install vs.deb
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vs.deb
E: Couldn't find any package by glob 'vs.deb'
Run Code Online (Sandbox Code Playgroud)
但是当我使用 安装它时./vs.deb,它会被安装:
sudo apt install ./vs.deb
Run Code Online (Sandbox Code Playgroud)
为什么Linux不接受同目录内的文件名而不需要相对路径?
我寻找一个编辑器,其中Ctrl+C复制、Ctrl+X剪切、Ctrl+V粘贴、Ctrl+Z撤消、Ctrl+Y重做、F3搜索和F2重命名。当我点击鼠标左键时,光标应该去那里。所有模式都应同时处于活动状态(命令和插入和...)。
另外Ctrl+W关闭选项卡式界面中的当前选项卡,Alt+F4关闭当前聚焦的应用程序,Ctrl+Tab猜测内容之间的选项卡,选项卡,Ctrl+O显示打开对话框,Ctrl+P显示打印对话框,
有什么 Linux 编辑器可以在终端中使用并具有这种行为?
我使用此代码来使用 GitHub API 并自动执行一些任务:
curl --silent -H 'Authorization: token github_access_token' 'https://api.github.com/orgs/OrganizationName/repos?per_page=100'
Run Code Online (Sandbox Code Playgroud)
有时我得到这样的回应:
[
]
Run Code Online (Sandbox Code Playgroud)
我想知道响应是否是空数组。
我想过使用jqlikeecho $Response | jq -r ".[]"但我不知道如何从那里继续。
如何在 bash 中找出 JSON 字符串是否为空数组?
command-line ×4
apt ×2
bash ×1
boot ×1
chmod ×1
dpkg ×1
json ×1
keyboard ×1
permissions ×1
scripts ×1
text-editor ×1
updates ×1
usb ×1