検索条件
お知らせ
現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
elseは* )
case 値 in
パターン1 ) 処理1
;;
パターン2 ) 処理2
;;
esac
Windows 10
Env |
Ver |
PHP |
8.0.2 |
Xdebug |
3.0.2 |
zend_extension="xdebug-3.0.2-8.0-vs16-nts-x86_64"
xdebug.start_with_request=yes
xdebug.mode=debug
別になくてもデバッグは出来る
"php.validate.executablePath": "C:/path/to/php.exe",
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
シェルスクリプトでオプションパラメーターを解析するやつ
基本shift
と合わせて使う
とりあえず最低限の動作サンプル的なやつ
#!/bin/bash
usage_exit () {
echo "Usage: $0 [-p piyo] [-f] <foo> <bar>"
exit 1
}
# オプション名の後ろに `:` をつけるとパラメーターを取れる、つけないと取れない
# オプション先頭に `:` をつけるとエラーハンドリングを自動でしなくなる
# e.g. `getopts :p:fh`
while getopts p:fh OPT
do
case $OPT in
p) piyo=$OPTARG
;;
f) fuga=1
;;
h) usage_exit
;;
\?) usage_exit
;;
esac
done
# オプション分の引数をずらす
# これがないとオプションが `$1` とかに入ってくる
shift $((OPTIND - 1))
# オプションを抜いた引数を取る
foo=$1
bar=$2
echo $foo
echo $bar
echo $piyo
echo $fuga
cwd=$(cd $(dirname $0); pwd)
$0
はシェルスクリプトのフルパス
dirname
でスラッシュから始まるファイル名を除去
cd
で移動
pwd
で表示
これはサブシェルを使うと出来る
サブシェルとは()
で囲まれた部分で、この中では別のシェルが動いている
例えば次のスクリプトはfoo/
に移動し中のファイルリストを表示するが、2行目では現在の位置にあるファイルリストを表示するため移動していない
コマンド展開記法$()
もサブシェルが動いている
- 以下のように書くと連続で線形実行される。手前が異常終了しても続く
コマンドの末尾に&
をつけるとバックグラウンドで実行される
- 以下の例では左がバックグラウンド、右がフォアグラウンドで実行される
AndAlso的な動きをする
- 以下のように書くと連続で線形実行される。手前が異常終了すると続かない
コマンドの末尾に|
をつけると標準出力が次にリダイレクトされる
- 以下のように書くと連続で線形実行される。手前の標準出力が次にリダイレクトされる
echo 1 | xargs -I{} echo {}2
OrElse的な動きをする
- 以下のように書くと連続で線形実行される。手前が異常終了した場合のみ次が動く
HTTPを始めFTPやLDAPなど多様なプロトコルに対応したクライアント
curl [options...] <url>
ヘルプが充実してるのでヘルプ見たほうが早い
-X method
-s
-S
-L
- location headersを読む
- 3xx系のコードの追従する(302 redirectとか)
-v
--verbose
- レスポンス内容が全部出る
- レスポンスヘッダを見る時に使える(
-I
でも見れるがHEAD methodを投げてるだけなので-X
と併用できない)
- エラー出力されるのでgrepしたい時などは標準出力にリダイレクトが必要
-d
x-www-form-urlencoded
を投げる時に使う
-d key=value
--data-urlencode
-o <path>
- ファイルを保存する
- ダウンロード目当てならwgetのほうが使いやすい
curl -sSLI -X POST -H 'Content-Type: application/json' -d '{ "hoge": "piyo" }' -- 'https://example.com'