【cp】,【mv】コマンドを使用した際のコピー, 移動先が存在した場合の挙動
test |_____ test1.txt |_____ test2.txt
$ cat test1.txt >test1
$ cat test2.txt >test2
既にコピー先のファイルが存在している状態でcpコマンドを実行した際は、コピー先のファイルがコピー元の情報で上書きされます。
元々存在していたtest2.txtファイルの中身は元に戻せません。
$ cp test1.txt test2.txt
$ cat test2.txt >test1
予防策としてはオプションに-iを付けることで同じファイル名がコピー先に存在した場合に上書きを行って良いかメッセージが表示されます。
コピー先に同じファイル名が存在しなければ何も表示されずコマンドが実行されるだけなのでこのオプションを常につけておけば上書きの事故は防げます。
$ cp -i test1.txt test2.txt > cp: overwrite 'test2.txt'?
PHP - array_filterで外部関数を使用する
$keyword = trim(fgets(STDIN)); $extTaskList = array_filter($taskList, function ($task) use ($keyword) { return strpos($task['content'], $keyword) === 0; });
array_filter外で定義した変数$keywordをarray_filter内で使用する場合は、useの後に変数名を付けます。
外部変数を、array_filter内で使う時にuse句を使用しないと未定義の変数を参照しようとする為、エラーが発生します。
PHPを対話シェル上で実行する
$ php -a
上記コマンドをターミナル上で実行することでPHPコードの直接実行して確認したい時に使えます。