在Windows中,我可以写含有CMD(通常命令的文件.cmd
或.bat
文件)。当我点击这些文件时,它会打开cmd.exe
并运行文件包含的命令。
我将如何在 Ubuntu 中执行此操作?
我确定这是重复的,但我找不到我的答案。
它类似于这些问题,但他们没有回答这个问题:
我正在尝试运行一个名为deploy-site.sh
(通过http://klau.si/dev)的简单 Bash 脚本。我进行了必要的编辑以在本地运行它(更改 WORKDIR 等)。我也按照此处的说明进行操作。
mkdir ~/bin
chmod 755 ~/bin
Run Code Online (Sandbox Code Playgroud)
(将脚本存储在我的主文件夹中。然后我重新启动,以便系统识别它。)
sudo chmod +x <path>
sudo chmod 755 <filename>
Run Code Online (Sandbox Code Playgroud)
但是,每当我去终端执行 Bash 脚本时,我都会得到:
$ sudo deploy-site.sh <sitename>
sudo: deploy-site.sh: command not found
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
这是原始脚本:
#!/bin/bash
if [[ $# -lt 1 || $1 == "--help" || $1 == "-h" ]]
then
echo "Usage:"
echo " sudo `basename $0` SITENAME"
echo "Examples:"
echo " sudo `basename $0` drupal-8"
exit
fi
WORKDIR="/home/klausi/workspace"
APACHEDIR="/etc/apache2/sites-available"
HOSTSFILE="/etc/hosts"
echo "<VirtualHost *:80>
ServerAlias …
Run Code Online (Sandbox Code Playgroud) 我正在学习如何将我的 NIC 传递到我的 KVM。
本指南说将以下代码添加到文件 ~/.bashrc
#!/bin/bash
# change the 999 if needed
shopt -s nullglob
for d in /sys/kernel/iommu_groups/{0..999}/devices/*; do
n=${d#*/iommu_groups/*}; n=${n%%/*}
printf 'IOMMU Group %s ' "$n"
lspci -nns "${d##*/}"
done;
Run Code Online (Sandbox Code Playgroud)
我不清楚代码应该插入哪里,所以它在第1-8行。
1 #!/bin/bash
2 # change the 999 if needed
3 shopt -s nullglob
4 for d in /sys/kernel/iommu_groups/{0..999}/devices/*; do
5 n=${d#*/iommu_groups/*}; n=${n%%/*}
6 printf 'IOMMU Group %s ' "$n"
7 lspci -nns "${d##*/}"
8 done;
9
10 # ~/.bashrc: executed by bash(1) for non-login …
Run Code Online (Sandbox Code Playgroud)