shellを書いているときに躓いたところ
4162 ワード
概要
現象は起きているものの、原因がわからなった問題から対処方法がわかったものを書き残します。
コマンド実行後、返り値をshell内で扱うための変数
特殊変数
php index.php #返り値のあるコマンド
echo $? #最後に実行された返り値が表示される
ifで見かける 比較演算子
比較演算子
#左右の値が等しければ真
if [ $? -eq 0 ]; then
echo "No Problem :)"
fi
#左右の値が等しくなければ真
if [ $? -ne 0 ]; then
echo "Have Problem :("
fi
PHPからshellへ値を返すときの関数
PHPからの書き方
<?php
//正常状態を返す場合
exit;
exit();
exit(0);
//異常状態を返す場合
exit(1);
exit(222);
︙
?>
while内で使っていた変数をwhileの外でも使いたい場合
パイプを使った方法では期待した値が表示されませんでした
期待した結果が表示されない
COUNT=0
cat 外部ファイルのパス | while read line
do
let COUNT++
done
echo $COUNT #whileでループされた分は表示されず、0が表示される
期待した結果が表示される
COUNT=0
while read line
do
let COUNT++
done < 外部ファイルのパス
echo $COUNT #whileでループされた分だけ表示される
参考投稿
Shell 特殊変数
シェルスクリプト(bash)のif文やwhile文で使う演算子について
シェルスクリプト最大の罠、while問題
シェルスクリプトで外部ファイルに記述された変数を利用する方法
Author And Source
この問題について(shellを書いているときに躓いたところ), 我々は、より多くの情報をここで見つけました https://qiita.com/camomile_cafe/items/4201e6d5af7ee81d8e1e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .