タグ付けされた質問 「scripts」

スクリプトは、「プレーンテキスト」ファイルに記述された一連の指示です。スクリプトインタープリター(たとえば、Bashまたは別のシェル、Python、Perl、Rubyなど)がファイルを読み取り、コマンドプロンプトで入力されたかのように指示を実行します。

4
ターミナルでコマンドを開いて実行する.desktopファイルを作成します
Exec.desktopファイルのコマンドを記述して新しいターミナルを開き、その中でシェルスクリプトを実行する方法を知りたいです。シェルスクリプトは動作しており、すべてのユーザーがアクセスできます。ターミナルからスクリプトを起動するとすべてが機能しますが、.desktopファイルからスクリプトを起動しようとすると機能しません。 私がすでに試したいくつかの組み合わせは次のとおりです。 Exec=gnome-terminal -x sh -c 'echo hello' Exec=sh -c 'gnome-terminal echo hello' Exec=sh -c 'echo hello' Exec=echo hello .desktop端末オプションはtrueに設定されています。

10
Bashスクリプトを使用して、実行中のプラットフォームがUbuntuかCentOSかを知る方法は?
私のマシンで実行されているLinuxマシンの名前を確認するコマンドを知っています。例えば: Ubuntu cat /etc/version CentOS cat /etc/issue ターミナルから出力を取得し、UBUNTUまたはCENTOSであるかどうかを確認して、次のコマンドを実行するにはどうすればよいですか? apt-get install updates または yum update Ubuntu 14.04 cat /etc/issue

6
アプリケーションインストールシェルスクリプトを記述する方法
シェルスクリプトを作成してアプリケーションのリストをインストールする方法を知っている人はいますか?新しいシステムをセットアップするたびに、各アプリケーションを手動でインストールしなければならないのは苦痛です。 編集: それでも私に尋ねますDo you want to continue [Y/n]?。スクリプトを入力する方法yや、入力を求めない方法はありますか?


2
結局のところ、bashの「。」と「source」に違いはありますか?
「。」の違いを探していました。また、「ソース」組み込みコマンドといくつかのソース(たとえば、この説明やbashのマンページ)は、これらがまったく同じであることを示唆しています。 しかし、環境変数の問題に続いて、テストを実施しました。次testenv.shを含むファイルを作成しました。 #!/bin/bash echo $MY_VAR コマンドプロンプトで、次を実行しました。 > chmod +x testenv.sh > MY_VAR=12345 > ./testenv.sh > source testenv.sh 12345 > MY_VAR=12345 ./testenv.sh 12345 [最初のフォームが空の文字列を返したことに注意してください] したがって、この小さな実験は、「ソース」コマンドの場合、子環境が「。」の場合、親環境からすべての変数を継承するという違いがあることを示唆しています。そうではありません。 私は何かを見逃していますか、これは文書化されていない/廃止されたbashの機能ですか? [GNU bash、バージョン4.1.5(1)-release(x86_64-pc-linux-gnu)]



2
ファイルの変更時刻を表示する方法は?
bashスクリプト内で使用するために、ファイルの変更された時間を見つけて印刷する方法が欲しいのですが。 私は思いついた: ls -l $filename | cut -d ' ' -f '6-8' どの出力: Jul 26 15:05 解析を回避lsしたいのですが、年を入れるのも便利です。 理想的には、dateコマンドのデフォルトの出力に似た出力を見たいです。 Tue Jul 26 15:20:59 BST 2016 他にどのような便利な方法が利用できますか?

3
ターミナルを閉じずにターミナルで実行中のスクリプトを強制終了するには(Ctrl + Cは機能しません)?
他のいくつかのプログラムを呼び出し、一連のコマンドを実行するbashスクリプトを作成しました。このスクリプトを端末から実行します。次に、スクリプトを強制終了します。 押してCtrl + Cもうまくいかないことがあります。スクリプトが別のプログラムを実行していることがあり、何らかの理由でkillシグナルが機能しないためです。 ただし、ターミナルウィンドウを閉じると、スクリプトが強制終了されます。 できることはありますか(キーボードの組み合わせ)、それは実際に端末ウィンドウを閉じずに端末ウィンドウを閉じることに似ています(コマンド履歴、現在のディレクトリ、出力履歴などを失いたくない)?
35 bash  scripts 


4
スクリプトの実行時のエラーメッセージ「ソース:見つかりません」
私が変更されます少し、自動セットアップスクリプト作成しています/etc/profileし、$HOME/.profile一部のパスがエクスポートされていない場合に。次に、これらを自動的にリロードします。 これを読んだことsourceがあるので、端末を起動して次のように入力しました。 source /etc/profile source ~/.profile ターミナルからは、エラーは出力されませんでした。 ただし、これら2つのコマンドをBashスクリプト内に配置すると、結果がになりsource: not foundます。 #!/bin/sh指定されている場合でも、スクリプトがBashによって実行されていることをどのようにして確認できますか(明らかに、それは保証されません)。 なぜこれらの2つのソースが紛れもなくそこにあるのに見つからないと言うのでしょうか?

2
Linuxスクリプトで「while read ...」を使用する
誰かが次のコードがどのように機能するか説明してもらえますか? echo '1 2 3 4 5 6' | while read a b c do echo $c $b $a done 具体的には、私はこのループの出力がある理由を知りたいのですが3 4 5 6 2 1、代わりに3 2 1と6 5 4二つの別々の行に?心を包み込むことができないようです...
34 bash  scripts 


9
forループのスペースを含むファイル名、findコマンド
複数のサブフォルダー内のすべてのファイルを検索してtarにアーカイブするスクリプトがあります。私のスクリプトは for FILE in `find . -type f -name '*.*'` do if [[ ! -f archive.tar ]]; then tar -cpf archive.tar $FILE else tar -upf archive.tar $FILE fi done findコマンドを使用すると、次の出力が得られます find . -type f -iname '*.*' ./F1/F1-2013-03-19 160413.csv ./F1/F1-2013-03-19 164411.csv ./F1-FAILED/F2/F1-2013-03-19 154412.csv ./F1-FAILED/F3/F1-2011-10-02 212910.csv ./F1-ARCHIVE/F1-2012-06-30 004408.csv ./F1-ARCHIVE/F1-2012-05-08 190408.csv ただし、FILE変数はパス./F1/F1-2013-03-19の最初の部分と、次の部分160413.csvのみを保存します。 readwhileループで使用してみましたが、 …
34 bash  scripts  find 

6
端末から画像を回転させる
たくさんの画像があるディレクトリを持っていますが、それらの向きが間違っています。画像を正しい方向に回転させたい(主に±90 o)。画像(ショットウェルフォト)ビューアーを使用して、回転ボタンをクリックして個別に回転できますが、これは面倒です。 私が見てman shotwellとshotwell --help-allなく、コマンドラインから回転コマンドを起動する方法について説明は何もありません。 ターミナルからショットウェル(または他のビューア)の回転コマンドを呼び出す方法はありますか?または、画像を回転させる他の方法も歓迎します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.