
次のコマンドを手動で実行すると正常に動作します。
/jrr/bin/java -Xms14M -Xm14M -Dhttps.protocols=Tv1.2 -Dk.ts.client.protocols=TLSv.2 -jar /gq1/ust/classes/S.jar $(< /pass.txt)
ただし、シェルが失敗し、「(< /pass.txt)」を読み取ることはできません。対応する変数はありません。
!/usr/bin/期待
SSHの生成[Eメール保護]"/jrr/bin/java -Xms14M -Xm14M -Dhttps.protocols=Tv1.2 -Dk.ts.client.protocols=TLSv.2 -jar /gq1/ust/classes/S.jar $(< /pass.txt );cd /gucq1/gcust;mail -s 'こんにちは'[Eメール保護]<logs.txt" は、"password" が "N0\r" 相互作用を送信すると予想し、eof を期待します。
答え1
努力する
command $(< abc.txt)
どこ
$(< )
構文はファイルを読み取り、行末を削除してコマンドラインから置き換えます。
詳細については、Bashマニュアルの章を参照してください。コマンドの置き換え:
Bash は以下を実行して拡張を実行します。注文するコマンド置換をコマンドの標準出力に置き換え、末尾の改行を削除します。埋め込まれた改行文字は削除されませんが、単語の分離中に削除される可能性があります。コマンド置換を使用すると、コマンドを同じですが、より高速なコマンドに置き換えることができます。
$(cat file)
$(< file)