私のコマンドに「(standard_in)2:構文エラー」と表示されるのはなぜですか?

私のコマンドに「(standard_in)2:構文エラー」と表示されるのはなぜですか?

私は多くのカスタムコマンドを持っています。一つはです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このコマンドはすべてのドッカーコンテナを停止してシステムをクリーンアップします。

次へ変更すると、bash Stopそのエラーは発生しません。

bc検索してみると、ほぼすべての投稿が命令に関連しています。私はそれを使用しませんbc。理由は何ですか?

より多くのデータが必要な場合はお知らせください。ありがとうございます。

修正する:私のLoadコマンドは、デフォルトでコマンドにアクセスできる関数を含むいくつかのシェルスクリプトをロードします。

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
}

関連情報