Questions tagged [shellscript]

unix 系のシェルに対するスクリプト言語のこと。具体的に利用するシェルが想定されている場合は、そちらのタグを利用する方が望ましい。

例: sh, bash, zsh

158 questions
15
votes
2 answers

変数 ${@+"$@"} はどのような場面で役立つのか

ブルース・ブリン書「入門UNIXシェルプログラミング」の「2.5 位置パラメタ」にて以下のような記述がありました。  一般的には、前節で説明した ${variable+value} の形式を使うのが最適でしょう。 ${@+"$@"}  こう書くことで、位置パラメタに何もセットされていない場合には何もしない、という条件を作れます。  参考までに記しておきますが、以下のように記述すると、あるシェルスクリプトに渡した引数を、まったくそのままの形で別の command…
kosh
  • 2,415
  • 2
  • 13
  • 23
10
votes
2 answers

シェルの-eオプションとrc.localについて

スクリプトを/etc/rc.localに書いた場合とそうでない場合で-eオプションの振舞いが異なるように見えるのですが, なぜでしょうか. 例えば次のようなスクリプトを用意し, caller.shを実行すると, echo-sleep5.shのプロセスは数秒で消えてしまいます. (/bin/shの実体はdash, no_such_commandは存在しないもので, ここで失敗することを意図) caller.sh #! /bin/sh -e /path/to/echo-sleep5.sh |…
letrec
  • 3,170
  • 1
  • 14
  • 34
8
votes
1 answer

シェルスクリプトの先頭にバックスラッシュをつけているのは何故?

Anaconda で使われているシェルスクリプトのソースコードを眺めていたところ、eval、export、local などのコマンド名の前にバックスラッシュが付けられていることに気づきました。 \export CONDA_SHLVL=0 この行頭のバックスラッシュにはどのような意味がありますか?
nekketsuuu
  • 23,683
  • 11
  • 50
  • 115
5
votes
5 answers

edかexでに変換するバッチ編集は可能でしょうか

チームでプログラムしていると時々、ファイルの文字コードや改行コードを乱してしまう人がいます。私のチームではruby on…
cul8er
  • 1,943
  • 3
  • 19
  • 37
4
votes
3 answers

シェルスクリプトをCtl+cで止める方法

#!/bin/sh param_list=("param1" "param2" "param3") for param in "${param_list[@]}" do python sample.py $param done 以上のように、ファイルにコマンドライン引数を渡してfor文で実行した際に、Ctl+c一回ではループから抜けられません。どのようにしたらよいでしょうか。
tぐち
  • 461
  • 6
  • 15
2
votes
4 answers

スペースの入った行をスペース以外の区切り文字で分割してコマンド引数に渡したい

: で区切られたファイル(/etc/passwd)の各行から 6列目の値 (= home directory) を取り出して、 以下のようにコマンドに渡したいです。 /etc/passwd sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin ec2-user:x:1000:1000:EC2 Default User:/home/ec2-user:/bin/bash 実行したいコマンド command…
user35303
2
votes
2 answers

シェルスクリプトでteeを使ってファイル追記する書き方について

echo -e "\nexport PYENV_ROOT=$PYENV" | sudo tee -a ~/.bash_profile >> /dev/null というシェルスクリプトの書き方を見かけたのですが echo "\nexport PYENV_ROOT=$PYENV" >> ~/.bash_profile と何か違いがあるのでしょうか tee -a コマンド 自分が所持してるに決まってる .bash_profile に sudo…
user35303
2
votes
2 answers

シェルスクリプトで現在の時刻(hh:mm)を取得してif文で分岐

シェルスクリプトで現在の時刻(hh:mm)を取得してif文で12:00~13:00の間かそうでないかで条件分岐するプログラムを書きたいです。 この場合、 seccion_time=date '+%h' start_time=12:00 finish_time=13:00 if [ $seccion_time -gt $finish_time]; then if [ $seccion_time -lt $finish_time ]; then echo 処理開始 …
user36290
  • 21
  • 1
  • 2
  • 4
2
votes
5 answers

どのようにシェルコマンドで合計を得るか

これが元々のテキスト Tab Tab Tab Enter Tab Tab Tab Enter Enter Enter Tab Tab Tab Tab Tab Enter Enter Tab Tab Enter この結果を得たい Tab 1 Tab 2 Tab 3 Enter 1 Tab 1 Tab 2 Tab 3 Enter 1 Enter 2 Enter 3 Tab 1 Tab 2 Tab 3 Tab 4 Tab 5 Enter 1 Enter 2 Tab 1 Tab 2 Enter…
taroyanaka
  • 31
  • 6
2
votes
1 answer

shell script に対して tagging を行えるような tag システムはありますか?

例えば、 C++ などであれば、 GNU Tags などがあって、これをエディタに組み込むなどによって function の索引を作成し、そこにジャンプすることができます。 shellscript に対して、同じことをやりたいと思いました。 https://www.gnu.org/software/global/ を見たいたのですが、 shell script は supported の項目に含まれていませんでした。 質問 shell script に対して tagging を行えるような…
Yuki Inoue
  • 16,805
  • 19
  • 80
  • 196
2
votes
3 answers

指定した文字列どおりに対応する画像ファイルを結合するシェルスクリプト

a.png~z.pngまでの一文字のアルファベットのファイル名を持つ画像ファイルがあります。 文字列を渡して実行すると、指定したアルファベットの文字列の順番どおりに、対応する画像ファイルを結合して出力するシェルスクリプトを書きたいです。 実行例 ./createImage.sh zyxwv このように結合される convert +append z.png y.png x.png w.png v.png result.png …
noprops
  • 423
  • 3
  • 14
1
vote
1 answer

ファイル名が連番になっているか、抜けがないかの確認をする方法

一般的で曖昧な質問なのですが、ターミナル上の操作で大量のファイル、例えば1000個、10000個といったファイルをダウンロード、もしくは生成した時に、 ファイルがきちんと連番になっているか(途中で変な名前になっているファイルがないか) すべての番号のファイルが存在しているか? といったことをチェックする際に、みなさんはどういう手段を使っていますか?(ダウンロードや生成時のエラーで、ごく少数の不具合が発生するものとします) もちろんPython等で簡単なスクリプト等を書けばそういうことはできる…
kojix2
  • 520
  • 2
  • 16
1
vote
1 answer

ディレクトリにあるサイズの大きなファイル以外を一覧取得したい

~/Downloadsフォルダに存在するファイルのうち10M以上のサイズのファイル以外をすべて一覧で取得したいです 可能ならば、~/Downloads/example-dir/*のように再帰的にすべてのファイルの一覧を取得したい
0
votes
0 answers

googleimagesdownloadで画像がダウンロードされない

MacのCreate MLで画像分類のモデルを作ろうとしています。 googleimagesdownloadを使用してトレーニング画像をダウンロードしようとしています。 コマンドを実行したところ、 shuntaro@air5 traningData % googleimagesdownload -k "リンゴ" Item no.: 1 --> Item name = \u30ea\u30f3\u30b4 Evaluating... Could not open URL. Please…
shuntar
  • 11
  • 4
0
votes
1 answer

auth.log内のAcceptedのログのfromをチェックしたい

万一、サーバーに不正ログインがあった場合のため、 1日1回、auth.log内のAcceptedのログのアクセス先、from xxxx.xxxx.xxxx.xxxx をチェックし、別途登録した アドレス以外からのログインが有った場合には、メールを送ることを、シェルスクリプトで書けないでしょうか? よろしく、お願いします。
saitoib
  • 391
  • 1
  • 7
  • 19
1
2