我有一堆自定义命令。一个叫Shut
.我在关闭电脑之前用它来自动执行一些任务。
#!/bin/bash
. Load
Stop
Update
Install
SpecialCommands
sudo shutdown -h now
当我运行它时,我得到(standard_in) 2: syntax error
了命令Stop
。这是我的Stop
命令:
#!/bin/bash
sudo echo
. Load
clear
Divide
Info "Stopping all ..."
Divide
for i in $(docker ps -a -q --filter name=$1);
do
export Name=$(docker container inspect $i | grep "Name.*/" | cut -d'/' -f2 | cut -d'"' -f1)
docker rm $i --force 1>/dev/null
Check $Name
done
docker system prune --force 1>/dev/null
Divide
Success "Stopped all"
Divide
基本上Stop
命令会停止所有 docker 容器并清理系统。
如果我将其更改为bash Stop
那么我就不会收到该错误。
bc
我搜索了一下,几乎所有的帖子都与命令有关。我没有使用bc
.可能是什么原因?
如果您需要更多数据,请告诉我。谢谢。
更新:我的Load
命令基本上加载了一堆 shell 脚本,其中包含命令可访问的函数:
for ScriptFile in /HolismHolding/Scripts/**;
do
if [[ $ScriptFile == *Python* ]]; then
continue;
fi
. "$ScriptFile"
done
例如,它加载Message
包含以下函数的我的脚本:
#!/bin/bash
red=""
green=""
cyan=""
magenta=""
yellow=""
reset=""
if [[ -t 1 ]]; then
red=`tput setaf 1`
green=`tput setaf 2`
cyan=`tput setaf 6`
magenta=`tput setaf 5`
yellow=`tput setaf 3`
reset=`tput sgr0`
fi
Check="\xE2\x9C\x94"
function Check()
{
echo -e "${green}$*;$Check${reset}" | column -t -s ';'
}
function Success()
{
echo "${green}$*${reset}"
}
function Info()
{
echo "${cyan}$*${reset}"
}
function Warning()
{
echo "${yellow}$*${reset}"
}
function Error()
{
echo "${red}$*${reset}"
}
function Divide()
{
echo
echo "${magenta}----------${reset}"
echo
}