by shigemk2

当面は技術的なことしか書かない

bash

Bash popdの挙動確認 4.2 vs 4.4

The `popd' builtin now treats additional arguments as errors. popdに余計な引数をつけたらどうなるか、挙動の確認 バージョンごとの確認にはDockerが本当に便利。 https://hub.docker.com/_/bash bash:4.2 エラーにならない(でもpopd自体は失敗する) $ d…

()や{}

()や{} は、ググれないしどうせ日本語でググってもQiitaくらいしか出てこないから、 grouping command bash なんぞでググって公式を探したほうが良い 複数コマンドの結果をリダイレクトするときは{}を使うなど。 Bash Reference Manual: Command Grouping な…

memo bash wildcard and dotfiles

Strings containing * will not match filenames that start with a dot これ!と言えるbashの仕様は見当たらず… http://tldp.org/LDP/abs/html/globbingref.html

bash official reference

bash official reference メインがfishなのであんまりbash使わないけどシェル芸でたまに使うからここを参考にしたい QiitaやSOはちゃうねん

bash check multiple files exist

ファイルの存在チェックはこう書くじゃん。 if [ -e aaa.zip ]; then echo "hoge" fi でもこう書いたら too many arguments って怒られるんだよね。 if [ -e aaa* ]; then echo "hoge" fi まあ当然だよね。とどのつまりは展開されて if [ -e aaa.zip aaabbb.…

POSIXLY_CORRECT

If this variable is in the environment when Bash starts, the shell enters POSIX mode (see Bash POSIX Mode) before reading the startup files, as if the --posix invocation option had been supplied. bashをposix modeで実行するための変数。 違い…

制限付きbash

bash -rなど。上手く組み合わせると、lsもcatも出来ないユーザーが作れる。 @IT:特定のコマンドしか実行できないユーザーIDを作成するには @IT:bashの機能を制限するには

予期しないトークン (' 周辺に構文エラーがあります

ShellScript - diffで「予期しないトークン (' 周辺に構文エラーがあります」 - Qiita ShellScript - diffで「予期しないトークン (' 周辺に構文エラーがあります」 - Qiita #!/bin/sh diff <(ndisasm hogehoge.out) <(ndisasm fugafuga.out) こんな感じのシ…

【未解決】GitBashの履歴が残らないことがある

表題の通りなんだけども、 msysgitのGit Bashでも使える便利な5つのBashの補完機能 - みちしるべ msysgitのGit Bashでも使える便利な5つのBashの補完機能 - みちしるべ .bash_historyを残せばいいんじゃないかなって勝手に思っている。明日試す。

bash: export: xxx not a valid identifier

環境変数が反映されない | Oracle Community export $HOGE って書いたらタイトルみたいなエラーが出るんですって。 export HOGE って書くのがいいね。

.bashrcちょい改造

フルパスが欲しかった ## prompt PS1="\` if [ \$? = 0 ]; then echo \[\e[36m\]\$; else echo \[\e[31m\]\$; fi \`[\u@\H \w]\[\e[0m\]$ " http://qiita.com/rtakasuke/items/4b50e156ab82b0824676

let

変数同士を演算する内部コマンド。 下記のコードはbash限定で、shでは使えない。 [追記] シバンを修正した。ひどい誤植だ。 あと、これ、shでも実行できるよ、どういうことなの…? #! /bin/bash num=1 let num=$num+1 echo $num num=1 num=$(($num+1)) echo $…