1
に渡す私はいくつかのbashスクリプトを持っている:bashインナースクリプト?インライン?通訳新しい行の問題
#!/bin/bash
INTERPRETER=/home/user/bin/inter
TASKSET=/bin/taskset
BACKUP=/home/user/backup
SCRIPT='action 1;
action 2;
if 1;
do something;
do something else;
fi;
if 2; do something; do something else; fi;
lambda1 {
do something;
do something;
};
lamda2 {do....};
exit 0;'
echo -e `$TASKSET -c 1,2 $INTERPRETER <<< "$SCRIPT"`
問題は、フォーマットした場合1とlambda1がエラーをスローしていることです。
フラット化if2とlamda2は正常に動作します。
- その新しい ライナーを修正するためのオプションがありますか?
- どのようにこの機能 '< < <'と呼ばれています、おじさんgoogleで調べるには?
EDIT
echo -e "$SCRIPT" | $TASKSET.....
は、これと同じ間違った方法を動作します。
cat <<EOF
This is some text that I want to pass to cat
EOF
ここdoumentのこの形式において
、無膨張や:
あなたの例では、最後の行に不均衡なバッククォートがあります。あなたはそれを修正していただけますか?シンプルで同じ問題を示している実際のスクリプトを作成すると、簡単に手助けすることができます。 – Mikel
'<<<'は、[here string](http://www.gnu.org/software/bash/manual/html_node/Redirections.html#Redirections)と呼ばれます。 – Mikel
'$ SCRIPT'が入力として'/home/user/bin/inter'と入力します。だから、改行があなたが期待することをしていないなら、私は問題が 'inter'によって引き起こされます。 – Mikel