シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その30
https://mevius.5ch.net/test/read.cgi/tech/1561989867/
探検
シェルスクリプト総合 その31
レス数が1000を超えています。これ以上書き込みはできません。
2019/08/10(土) 23:17:50.64ID:L+B8OP2P
913デフォルトの名無しさん
2019/10/17(木) 21:23:39.68ID:1JFOpLrO GLOB展開と""内での文字列展開は別物で""内での文字列展開にGLOBは含まれないというだけだけどな
914デフォルトの名無しさん
2019/10/17(木) 22:15:54.16ID:yIl6cqO6 マニュアルにかっちり書いてあるんだけどな
読み解くのは確かに能力が必要だが
読み解くのは確かに能力が必要だが
915デフォルトの名無しさん
2019/10/18(金) 00:25:26.47ID:DhnYyybT916デフォルトの名無しさん
2019/10/18(金) 00:33:26.40ID:l6dCA2lX $ mkdir tmp && cd tmp
$ touch $'a\nb.txt'
$ find . -type f -name '*.txt' | wc -l
2
$ touch $'a\nb.txt'
$ find . -type f -name '*.txt' | wc -l
2
917915
2019/10/18(金) 00:51:30.34ID:DhnYyybT 相対パスなら、-path で、カレントディレクトリからの相対パスで指定する
find . -type f -path "./test/*.rb" | wc -l
find . -type f -path "./test/*.rb" | wc -l
918デフォルトの名無しさん
2019/10/18(金) 02:59:20.26ID:Shj9H2hw なるほろ
bash によるオプション解析 - Qiita
https://qiita.com/b4b4r07/items/dcd6be0bb9c9185475bb
bashのワイルドカード展開は該当するファイルが無いと*が展開されずに残る - Qiita
https://qiita.com/anqooqie/items/a2b607fe984ec982fa21
manはマニュアルだがman自体に取説が必要な皮肉
man manを読む時点で骨が折れるからしゃーない
bash によるオプション解析 - Qiita
https://qiita.com/b4b4r07/items/dcd6be0bb9c9185475bb
bashのワイルドカード展開は該当するファイルが無いと*が展開されずに残る - Qiita
https://qiita.com/anqooqie/items/a2b607fe984ec982fa21
manはマニュアルだがman自体に取説が必要な皮肉
man manを読む時点で骨が折れるからしゃーない
919915
2019/10/18(金) 04:58:51.55ID:DhnYyybT Ruby では、これでカレントディレクトリの該当ファイル数がわかる。
無ければ、0
ruby -e 'puts Dir.glob( "*.txt" ).length'
無ければ、0
ruby -e 'puts Dir.glob( "*.txt" ).length'
920デフォルトの名無しさん
2019/10/18(金) 09:56:55.15ID:dNt3vJtH /bin/ls -1d *.txt 2> /dev/null | wc -l
921デフォルトの名無しさん
2019/10/18(金) 11:02:02.61ID:lmpJOwiE find使うのは有りだと思うがmaxdepthとquitをつけたほうが良い
if test -n "$(find . -maxdepth 1 -name "*.txt" -print -quit)"; then
echo "OK"
else
echo "NG"
fi
if test -n "$(find . -maxdepth 1 -name "*.txt" -print -quit)"; then
echo "OK"
else
echo "NG"
fi
922デフォルトの名無しさん
2019/10/18(金) 11:55:18.87ID:O8T9zLoM923デフォルトの名無しさん
2019/10/18(金) 13:39:28.03ID:+f5J2l87 やっぱりどこでも動くシェルスクリプトなんて幻想なんだね…
924デフォルトの名無しさん
2019/10/18(金) 14:04:15.02ID:e+8RgQym >>918
暇なときに man と bash の man をちゃんと読み込むことをお勧めする
全部理解するのは確かに大変だが、こんな機能があるということだけ
覚えておいて、現実の問題に直面した時に詳細を再検索するのが
実用的。bash だけの問題ではないが。
暇なときに man と bash の man をちゃんと読み込むことをお勧めする
全部理解するのは確かに大変だが、こんな機能があるということだけ
覚えておいて、現実の問題に直面した時に詳細を再検索するのが
実用的。bash だけの問題ではないが。
925デフォルトの名無しさん
2019/10/18(金) 23:14:29.88ID:m9M+BHHc bashのmanはメンテされてないんじゃね?
926デフォルトの名無しさん
2019/10/18(金) 23:19:16.34ID:1h1F7NR4 日本語版がメンテナンスされてない(もしくは遅い)だけだよ
927デフォルトの名無しさん
2019/10/19(土) 00:34:03.00ID:+f1cBD8l 日本語版の記述が少なくて英語版の方だけびっしりとか実にマニュアルらしい
928デフォルトの名無しさん
2019/10/19(土) 13:26:03.97ID:9TTj0TwZ 近頃は無料で web 上で使える翻訳ソフトの質も上がっているし
頑張って読んでくれ。
頑張って読んでくれ。
929デフォルトの名無しさん
2019/10/19(土) 19:06:51.24ID:VYVT60v2 翻訳めっちゃハッテンしてきてるよね
930デフォルトの名無しさん
2019/10/19(土) 20:14:11.99ID:jibveSnU ウホッ
じゃなくて
なんだ
infoとかそっちしかハッテンしてないとかあるじゃん
じゃなくて
なんだ
infoとかそっちしかハッテンしてないとかあるじゃん
931デフォルトの名無しさん
2019/10/20(日) 17:43:31.69ID:Tm15VeOJ まあ、確かに sed の s コマンドのオプションは man にも入れてほしかった。
オプション使えなくなったのかと思ったじゃないか…
オプション使えなくなったのかと思ったじゃないか…
932デフォルトの名無しさん
2019/10/20(日) 23:14:32.47ID:n5s+FSXq 日本語版だけスカスカと言えばlocate
933デフォルトの名無しさん
2019/10/21(月) 17:13:45.45ID:mT54cHzD まあ裏を返せばそれだけ国際標準から離れていないってことよね。
ar.localeとか酷い……
ar.localeとか酷い……
934デフォルトの名無しさん
2019/10/21(月) 21:16:47.36ID:SCSOJkPH あるユーザー(Aとする)が、他のユーザー(Bとする)にのみWrite権限があるファイルを削除するような作業を自動化したいです。
当然そのままでは削除できないので、AからRootに切り替わり、ファイルを削除した後、Rootを抜けてAに戻るというBashスクリプトを作成しようとしています。
AはSudoが実行できない環境で、Expectコマンドもありません。Rootのパスワードはわかっており、平文でシェルスクリプト内に書き込んでも構いません(使用者が数人で、かつ外部に接続できないため。なのでセキュリティの問題は今回は無視)。
このような状態で、どうにか目的を果たすスクリプトはかけますでしょうか。
OSはFedora10、新たにプログラムパッケージ等はインストールできません。
よろしくおねがいします。
当然そのままでは削除できないので、AからRootに切り替わり、ファイルを削除した後、Rootを抜けてAに戻るというBashスクリプトを作成しようとしています。
AはSudoが実行できない環境で、Expectコマンドもありません。Rootのパスワードはわかっており、平文でシェルスクリプト内に書き込んでも構いません(使用者が数人で、かつ外部に接続できないため。なのでセキュリティの問題は今回は無視)。
このような状態で、どうにか目的を果たすスクリプトはかけますでしょうか。
OSはFedora10、新たにプログラムパッケージ等はインストールできません。
よろしくおねがいします。
935デフォルトの名無しさん
2019/10/21(月) 21:41:04.04ID:aSOXSPh+ すなおにrootで全部やれば良いんじゃね?
936デフォルトの名無しさん
2019/10/21(月) 22:08:16.20ID:/woRRfjw >>934
そもそもAがファイルを消せるようにパーミッションが初めから設定されるようには出来ないの?
そもそもAがファイルを消せるようにパーミッションが初めから設定されるようには出来ないの?
937デフォルトの名無しさん
2019/10/21(月) 22:24:13.78ID:Ol8k0rNq >>934
ファイルを削除するだけの実行ファイルを作ってsetuidビット立てて所有者をBにするとかすればできないかな?
ファイルを削除するだけの実行ファイルを作ってsetuidビット立てて所有者をBにするとかすればできないかな?
938デフォルトの名無しさん
2019/10/21(月) 22:25:13.50ID:Ol8k0rNq 追記。シェルスクリプト自体にはsetuidは使えない。
939デフォルトの名無しさん
2019/10/21(月) 22:52:13.48ID:pvaospDZ Fedora10って10年前のかっ
su: must be run from a terminal
にならんのだったらsuでいいんじゃないの。パスワード流すのは exec ででも
su: must be run from a terminal
にならんのだったらsuでいいんじゃないの。パスワード流すのは exec ででも
940デフォルトの名無しさん
2019/10/22(火) 00:44:01.51ID:7OkeLCGH ディレクトリにwが付いてればファイルは消せるけどなあ
941デフォルトの名無しさん
2019/10/22(火) 02:43:55.19ID:T9lP8zyy942デフォルトの名無しさん
2019/10/22(火) 09:04:44.04ID:xSNqVMSD >>941
# mkdir /dir
# chown userA:groupA /dir
# chmod 700 /dir
# cp /bin/rm /dir/rmB
# chown userB:groupB /dir/rmB
# chmod 6755 /dir/rmB
userA $ /dir/rmB /home/userB/file
# mkdir /dir
# chown userA:groupA /dir
# chmod 700 /dir
# cp /bin/rm /dir/rmB
# chown userB:groupB /dir/rmB
# chmod 6755 /dir/rmB
userA $ /dir/rmB /home/userB/file
943デフォルトの名無しさん
2019/10/22(火) 10:51:03.29ID:p4xpj08d こんな文字列野中に含まれる数字を
ゼロパディングしたいと思います
"何とかって講義 第5回 何とか特集.mp3"
まずは2桁でそろえてやりたいのですが
grep "第[1-9]回"
で一桁のものを引っ掛けて
前後をsedで除いて
sed "s/.*第//g
sed "s/回.*//g"
ゼロ埋めはprintfで実現しようと思うのですが
printf %02d $times
もっとシンプルな方法は無いでしょうか?
ゼロパディングしたいと思います
"何とかって講義 第5回 何とか特集.mp3"
まずは2桁でそろえてやりたいのですが
grep "第[1-9]回"
で一桁のものを引っ掛けて
前後をsedで除いて
sed "s/.*第//g
sed "s/回.*//g"
ゼロ埋めはprintfで実現しようと思うのですが
printf %02d $times
もっとシンプルな方法は無いでしょうか?
944デフォルトの名無しさん
2019/10/22(火) 10:52:23.81ID:p4xpj08d なお最終的な文字列の組み立てなおしは
数字の前後も抽出して3つを連結するつもりです
数字の前後も抽出して3つを連結するつもりです
945デフォルトの名無しさん
2019/10/22(火) 11:04:28.98ID:+cbyszgy perl5 が使えるなら
echo "何とかって講義 第2345回 何とか特集.mp3" | perl -pe 's/第(\d+)回/ sprintf "第%06d回", $1/exm'
何とかって講義 第002345回 何とか特集.mp3
echo "何とかって講義 第2345回 何とか特集.mp3" | perl -pe 's/第(\d+)回/ sprintf "第%06d回", $1/exm'
何とかって講義 第002345回 何とか特集.mp3
946デフォルトの名無しさん
2019/10/22(火) 13:09:31.40ID:QfoZv31s $ echo "何とかって講義 第2345回 何とか特集.mp3" | sed -E 's/第([0-9]+)回/第000000\1回/; s/0*([0-9]{6})/\1/'
6桁揃えにしたければ最初に6個0を足して次に6桁のみ残す
$ rename -n 's/\d+/sprintf("%06d",$&)/e' *.mp3
rename utilityが使えるならsprintfが使える
6桁揃えにしたければ最初に6個0を足して次に6桁のみ残す
$ rename -n 's/\d+/sprintf("%06d",$&)/e' *.mp3
rename utilityが使えるならsprintfが使える
947デフォルトの名無しさん
2019/10/22(火) 15:10:24.02ID:W8s8s9Eh perlもrenameもPOSIX規格外
948デフォルトの名無しさん
2019/10/22(火) 15:18:54.31ID:AwOtA+WM みんな真偽値ってどうしてる?
949デフォルトの名無しさん
2019/10/22(火) 15:21:29.60ID:p4xpj08d950デフォルトの名無しさん
2019/10/22(火) 15:23:02.88ID:AwOtA+WM FLAG=true or false ?
FLAG=1 or 0 ?
FLAG=1 or unset ?
FLAG=1 or "" ?
それ以外?
FLAG=1 or 0 ?
FLAG=1 or unset ?
FLAG=1 or "" ?
それ以外?
951デフォルトの名無しさん
2019/10/22(火) 20:26:37.95ID:2f71vpaR alias FLAG true/alias FLAG false
if FLAG; then
if FLAG; then
952デフォルトの名無しさん
2019/10/22(火) 20:27:08.55ID:2f71vpaR でもBashだとファイル内では既定で使えない。
953デフォルトの名無しさん
2019/10/22(火) 21:23:51.15ID:CciDAIxr >>952
面白いけど、サブシェルの中で変えられないから
alias FLAG=true
(
alias FLAG=false
if FLAG; then
echo true
fi
)
出力
true
面白いけど、サブシェルの中で変えられないから
alias FLAG=true
(
alias FLAG=false
if FLAG; then
echo true
fi
)
出力
true
954デフォルトの名無しさん
2019/10/23(水) 10:43:57.77ID:oiOUCahJ TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)
FLAG=$TRUE or $FALSE
FALSE=$([ ! $TRUE ];echo $?)
FLAG=$TRUE or $FALSE
955デフォルトの名無しさん
2019/10/23(水) 10:57:17.22ID:jQcWWJt3 サイトによってrenameの構文が違うけどコマンド自体が違うのな
perl付属のprenameとutil-linux付属のrename.ulがあるとか
alternativesで書き換えられてるんだからそら気付かんわ
perl付属のprenameとutil-linux付属のrename.ulがあるとか
alternativesで書き換えられてるんだからそら気付かんわ
956デフォルトの名無しさん
2019/10/24(木) 17:48:17.61ID:mthfJT/n >>953
知らんかった。恥ずかしいw
知らんかった。恥ずかしいw
957デフォルトの名無しさん
2019/10/24(木) 17:49:17.77ID:mthfJT/n >>954
それってTRUE=0とするのと何が違うの?
それってTRUE=0とするのと何が違うの?
958デフォルトの名無しさん
2019/10/24(木) 18:07:25.18ID:lp1ZwQII >>956
サブシェルは関係ない。俺もちゃんと仕様読んだわけじゃないけど、
aliasは実行時じゃなくて、1単位ごとに → パース → 実行 の
パース時に変換してる感じ
そして1単位というのは、
alias FLAG=true
alias FLAG=false; FLAG && echo true
↑これは一行で一単位、だからtrueと表示されてしまうし
関数とか、プロンプトから、func() { 改行 とかやると
} 改行 するまで、ずっと行頭に > って表示されるだろ?
あれが1単位。だから↓みたいなものもtrueって表示されてしまうんだよ
alias FLAG=true
func() {
alias FLAG=false
if FLAG; then
echo true
fi
}
func
サブシェルは関係ない。俺もちゃんと仕様読んだわけじゃないけど、
aliasは実行時じゃなくて、1単位ごとに → パース → 実行 の
パース時に変換してる感じ
そして1単位というのは、
alias FLAG=true
alias FLAG=false; FLAG && echo true
↑これは一行で一単位、だからtrueと表示されてしまうし
関数とか、プロンプトから、func() { 改行 とかやると
} 改行 するまで、ずっと行頭に > って表示されるだろ?
あれが1単位。だから↓みたいなものもtrueって表示されてしまうんだよ
alias FLAG=true
func() {
alias FLAG=false
if FLAG; then
echo true
fi
}
func
959793
2019/10/24(木) 18:35:35.72ID:n545jbBX >>795-797
時間が経ってしまいましたが、ありがとうございました
"$()"の中の"はエスケープする必要があるのかどうか、とか、変数代入への挙動とか、そういう細かいところがよくわかってなかったです。
時間が経ってしまいましたが、ありがとうございました
"$()"の中の"はエスケープする必要があるのかどうか、とか、変数代入への挙動とか、そういう細かいところがよくわかってなかったです。
960デフォルトの名無しさん
2019/10/24(木) 22:00:36.73ID:mthfJT/n >>958
あー。
aliasってたしか一つの構文解析のかなり初期段階で展開される筈だから,
その一つの解析対象の内部で定義されているaliasは(当然)それ自身の解析結果には反映されんな。
このへんだろうか??
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10
あー。
aliasってたしか一つの構文解析のかなり初期段階で展開される筈だから,
その一つの解析対象の内部で定義されているaliasは(当然)それ自身の解析結果には反映されんな。
このへんだろうか??
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10
961デフォルトの名無しさん
2019/10/25(金) 00:11:27.02ID:6btPTvif962デフォルトの名無しさん
2019/10/25(金) 07:59:28.70ID:6Bcci7V7963デフォルトの名無しさん
2019/10/25(金) 23:17:19.52ID:TUsRGFSK964デフォルトの名無しさん
2019/10/26(土) 06:21:32.20ID:0I+FrAtF >>963
> true/falseがビルトインじゃないシェルは存在しない
今ならそう言えるだろうが、かつては存在した
外部コマンドのtrue/falseがその名残りだ
> また、[ の結果はtrueなら0、falseなら1と決まっている
0は数値の0であってtrueではない
trueを表現するのに0を使っているだけだ
まあ真偽値を扱うならtrue/falseを使えってことだな
> true/falseがビルトインじゃないシェルは存在しない
今ならそう言えるだろうが、かつては存在した
外部コマンドのtrue/falseがその名残りだ
> また、[ の結果はtrueなら0、falseなら1と決まっている
0は数値の0であってtrueではない
trueを表現するのに0を使っているだけだ
まあ真偽値を扱うならtrue/falseを使えってことだな
965デフォルトの名無しさん
2019/10/26(土) 09:53:59.01ID:Q5pTtErv trueを表現するのに0を使っているというより、真偽に成功不成功をそのまま使ってるというだけだろ
966デフォルトの名無しさん
2019/10/26(土) 10:32:17.69ID:a0V3mxKP >>964
> 今ならそう言えるだろうが、かつては存在した
かつてとはいつで、どこの実装であるのか答えなさい
また、現存しない物の話をしても意味はない
そもそも [ が存在しない環境では使えない
外部コマンドの [ がその名残りだ
> 今ならそう言えるだろうが、かつては存在した
かつてとはいつで、どこの実装であるのか答えなさい
また、現存しない物の話をしても意味はない
そもそも [ が存在しない環境では使えない
外部コマンドの [ がその名残りだ
967デフォルトの名無しさん
2019/10/26(土) 10:33:01.78ID:swDBEFOl 成功/不成功は終了ステータスであって真偽値ではない
968デフォルトの名無しさん
2019/10/26(土) 10:37:22.98ID:3fttRo5u え、まさか、
hoge && FLAG=$TRUE || FLAG=$FALSE
:
:
if [ "$FLAG" -eq "$TRUE" ] then ・・・
if [ "$FLAG" -eq "$FALSE" ] then ・・・
とか書くつもり・・・?
hoge && FLAG=$TRUE || FLAG=$FALSE
:
:
if [ "$FLAG" -eq "$TRUE" ] then ・・・
if [ "$FLAG" -eq "$FALSE" ] then ・・・
とか書くつもり・・・?
969デフォルトの名無しさん
2019/10/26(土) 10:56:36.80ID:0I+FrAtF970デフォルトの名無しさん
2019/10/26(土) 11:14:58.17ID:3fttRo5u971デフォルトの名無しさん
2019/10/26(土) 11:16:54.58ID:Q5pTtErv while true
do
や、
FLAG=true
or
FLAG=false
if $FLAG; then
真偽に成功不成功をそのままは、なんて書きたかっただけだろ、そうの方が見た目がいいしな
なんでそんなに拘っているんだか
do
や、
FLAG=true
or
FLAG=false
if $FLAG; then
真偽に成功不成功をそのままは、なんて書きたかっただけだろ、そうの方が見た目がいいしな
なんでそんなに拘っているんだか
972デフォルトの名無しさん
2019/10/26(土) 11:21:27.44ID:3fttRo5u つーか、いいかげんにしろよ。
真偽値の値を何にするかって話だろ
誰も真偽値をどうやって生成するかの話なんかしてねーよ
真偽値の値を何にするかって話だろ
誰も真偽値をどうやって生成するかの話なんかしてねーよ
973デフォルトの名無しさん
2019/10/26(土) 11:22:36.82ID:3fttRo5u いつものやつ言っとくわ
>>971
/\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
>>971
/\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
974デフォルトの名無しさん
2019/10/26(土) 11:23:54.27ID:Q5pTtErv FLAG=true or false
FLAG=1 or 0
etc
なんでも好きにすればいいだろ
true/falseコマンドを使った方が見た目簡潔じゃないかと思うがな、個人的に。使わんけど
お前がいいかげんにしろよw
FLAG=1 or 0
etc
なんでも好きにすればいいだろ
true/falseコマンドを使った方が見た目簡潔じゃないかと思うがな、個人的に。使わんけど
お前がいいかげんにしろよw
975デフォルトの名無しさん
2019/10/26(土) 11:29:02.54ID:3fttRo5u976デフォルトの名無しさん
2019/10/26(土) 11:32:55.31ID:Q5pTtErv 俺は他alias使ったのやのその話題は、なにをわざわざ凝ったことしようとしてるのか意図不明で趣味なんだろなとしか思ってない
977デフォルトの名無しさん
2019/10/26(土) 11:33:38.63ID:T/HAOzs9 やっぱりどこでも動くシェルスクリプトなんて幻想なんだね…
978デフォルトの名無しさん
2019/10/26(土) 11:34:25.41ID:3fttRo5u >>976
趣味(実用的ではないネタコード)に、正当っぽい理由をつけるなって話だ
趣味(実用的ではないネタコード)に、正当っぽい理由をつけるなって話だ
979デフォルトの名無しさん
2019/10/26(土) 11:36:44.02ID:Q5pTtErv ただの雑談だろ
あれを強制するなりしているわけでもないのに、なにをそう否定してんだか
そんなヤツがリアルで一緒に仕事するなら思いっきりくそ叩くがなw
あれを強制するなりしているわけでもないのに、なにをそう否定してんだか
そんなヤツがリアルで一緒に仕事するなら思いっきりくそ叩くがなw
980デフォルトの名無しさん
2019/10/26(土) 11:37:51.16ID:3fttRo5u あとC言語の世界しか知らんようだから言っておくと、rubyは0も1もtrueな
シェルスクリプトは反対で0がtrueで1がfalseなんだ、それ以外の回答はない!ってのは
ちょっと考えが浅いんじゃないですかねぇw
http://osishow3.hateblo.jp/entry/2017/04/20/235500
nil is false
false is false
0 is true
1 is true
シェルスクリプトは反対で0がtrueで1がfalseなんだ、それ以外の回答はない!ってのは
ちょっと考えが浅いんじゃないですかねぇw
http://osishow3.hateblo.jp/entry/2017/04/20/235500
nil is false
false is false
0 is true
1 is true
981デフォルトの名無しさん
2019/10/26(土) 11:39:18.03ID:Q5pTtErv 何をひとりで妄想に走っているんだか
だれか「いいかげんにしろ」とか言ってなかったか?w
だれか「いいかげんにしろ」とか言ってなかったか?w
982デフォルトの名無しさん
2019/10/26(土) 11:42:23.29ID:3fttRo5u 俺に突っかかってきてないで、シェルスクリプトの話題をしたら?
983デフォルトの名無しさん
2019/10/26(土) 11:43:40.40ID:Q5pTtErv よくいうよw
984デフォルトの名無しさん
2019/10/26(土) 11:47:29.21ID:3fttRo5u そりゃいうだろ、いきなりシェルスクリプトと関係ない
「俺」の話を始めるんだからw
「俺」の話を始めるんだからw
985デフォルトの名無しさん
2019/10/26(土) 11:50:09.04ID:Q5pTtErv 言ったことに対してはそりゃ言うだろう。お前がわざわざ言ったんだから
そんなのが無くてもいいのに。お前だった元々のやつを「アホ」呼ばわりしてるじゃん
そんなのが無くてもいいのに。お前だった元々のやつを「アホ」呼ばわりしてるじゃん
986デフォルトの名無しさん
2019/10/26(土) 15:54:12.94ID:0I+FrAtF987デフォルトの名無しさん
2019/10/26(土) 16:04:47.31ID:+M+pJ73c set -eで正しく動かない
↓
set +eと書いて動くと主張。赤っ恥w
↓
set +eと書いて動くと主張。赤っ恥w
988デフォルトの名無しさん
2019/10/26(土) 16:15:33.38ID:0I+FrAtF 逃げ方がチョン臭くてキモい
989デフォルトの名無しさん
2019/10/26(土) 16:17:36.78ID:+M+pJ73c しかも、最初の状態が set +e だったら
set -e に状態が変わってしまうというクソコード
汎用性がない
set -e に状態が変わってしまうというクソコード
汎用性がない
990デフォルトの名無しさん
2019/10/26(土) 16:20:27.41ID:+M+pJ73c true / false を使えばいいのに、[ が入ってない環境を考慮せずに、
true / false が入ってないかもしれないから [ を使ったと言う無能ぶりw
true / false が入ってないかもしれないから [ を使ったと言う無能ぶりw
991デフォルトの名無しさん
2019/10/26(土) 16:22:55.60ID:0I+FrAtF 最初にset -eするとルール化するだけ
いちゃもんつけるの得意だな
いちゃもんつけるの得意だな
992デフォルトの名無しさん
2019/10/26(土) 16:24:16.70ID:0I+FrAtF []やtestが使えないシェル教えてくれよ
993デフォルトの名無しさん
2019/10/26(土) 16:25:06.04ID:+M+pJ73c TRUEの反対だからfalseというが、
FALSEの反対もfalseになってると気づいてなくて
そもそもシェルスクリプトの仕様をわかってないw
[ 0 = 0 ]; echo $? # => 0
[ ! 0 ]; echo $? # => 1
[ ! 1 ]; echo $? # => 1
FALSEの反対もfalseになってると気づいてなくて
そもそもシェルスクリプトの仕様をわかってないw
[ 0 = 0 ]; echo $? # => 0
[ ! 0 ]; echo $? # => 1
[ ! 1 ]; echo $? # => 1
994デフォルトの名無しさん
2019/10/26(土) 16:27:23.30ID:+M+pJ73c >>992
上の方で /bin/true, /bin/false コマンドがあるんだから
true, false が使えないシェルがあるはずだって主張していたぞw
その理屈で言えば [ コマンドもあるんだから、 [ が使えないシェルもあるってことになるんだがなw
上の方で /bin/true, /bin/false コマンドがあるんだから
true, false が使えないシェルがあるはずだって主張していたぞw
その理屈で言えば [ コマンドもあるんだから、 [ が使えないシェルもあるってことになるんだがなw
995デフォルトの名無しさん
2019/10/26(土) 16:28:56.67ID:+M+pJ73c 更に言うなら
TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)
これにサブシェルを使うのもアホらしいw
TRUE=$([ 0 = 0 ];echo $?)
FALSE=$([ ! $TRUE ];echo $?)
これにサブシェルを使うのもアホらしいw
996デフォルトの名無しさん
2019/10/26(土) 16:29:21.39ID:0I+FrAtF997デフォルトの名無しさん
2019/10/26(土) 16:29:57.11ID:+M+pJ73c998デフォルトの名無しさん
2019/10/26(土) 16:30:08.87ID:0I+FrAtF あーいつものマウントとらないと死ぬ病気のやつか
おだいじに
おだいじに
999デフォルトの名無しさん
2019/10/26(土) 16:30:30.62ID:+M+pJ73c1000デフォルトの名無しさん
2019/10/26(土) 16:30:49.43ID:+M+pJ73c >>998
マウント取られて可愛そうwww
マウント取られて可愛そうwww
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 76日 17時間 12分 59秒
新しいスレッドを立ててください。
life time: 76日 17時間 12分 59秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 【🐻ゲレンデノカフェテラスデ♪】長野のスキー場にクマ 【スベルアナタニクギヅケ🐻】 [nita★]
- すまん、飲食チェーン店での一幕なんだがオマエラはこれを見て何を思うかおしえてくれ。
- 粗品「南原が3億も貰えんの?」 [279254606]
- 朝雑談
- 毎日菊花茶飲んでたら美肌になったよ
- おちんちんを露出しながら女子小学生に次々と触った無職の男(31)を逮捕「欲求やストレスを解消する為」
- 【悲報】ゆうパック配達員、配達中に人妻に抱きつき無理矢理キス「好意があると思ってた」 [566475398]
