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

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

2
$ '$ foo'と$“ $ foo”の違い
変数のコンテキスト内で一重引用符と二重引用符の間のニュアンスを理解するのが難しい 私は定義します: foo=pwd 次にこれらを実行します: echo $'$foo' どのエコー$foo($私のechoコマンドの最初が削除されることを意味します) echo $"$foo" これはエコーしますpwd(つまり、bashは$foo、私の変数をその値に展開します) echo $`$foo` 最後に、このエコー$~/scripts(私は印刷することを期待~/scriptsしていません$~/scripts) 誰かがこれらの違いを理解するのを手伝ってくれる?

2
暗算の練習を定期的に行うソフトウェアはありますか?
私は自分の怠惰な性質を認識しており、時々いくつかの基本的な暗算を行うように自分をプッシュする必要があります。したがって、私は定期的に短い暗算演習(プラス、マイナス、乗算、除算)を行うように要求するソフトウェアを探しています。 基準: インターバル時間をカスタマイズできるようにする必要があります Ubuntuデスクトップに統合する必要があります。つまり、バックグラウンドで非表示にし、エクササイズ時にのみ表示(ポップアップ)します。

4
複数のターミナルタブを開いてコマンドを実行する
複数のターミナルタブを開いてタイトルを付け、ディレクトリに移動して、各タブでコマンドを実行する必要があります。 私はLinuxとシェルスクリプトを初めて使用します。オンラインで検索していくつかの解決策を確認した後、このスクリプトを作成しました(以下の回答に基づいて編集): #!/bin/bash cd /media/Extra/Project tab=" --tab-with-profile=Default" options=(--tab --title=Terminal) cmds[1]="'rails s'" titles[1]="Server" cmds[2]="'rails c'" titles[2]="Console" for i in 1 2; do options+=($tab --title="${titles[i]}" -e "bash -c \"${cmds[i]} ; bash\"" ) done gnome-terminal "${options[@]}" exit 0 タブを開いて名前を付けますが、このエラーを生成するコマンドの実行に失敗します。 この端末の子プロセスの作成中にエラーが発生しました もう1つの欠点は、実行中のコマンドを停止すると、タブが閉じてしまい、不要なことです。コマンドを停止して、同じタブ内で再度実行できるようにする必要があります。 スクリプトの何が問題になっていますか?それを行う別の簡単な方法はありますか? 注:コマンドから(-e "\" bash -c $ {cmds [i]}; bash \ "")の部分を削除すると、指定されたディレクトリのタブが開き、名前が付けられます。エラーは発生しません。 -編集-1: …

5
ログをタイムスタンプ付きのcrontabに追加する方法
crontabで、毎日のバックアップスクリプトをスケジュールしました。これで、cronがスクリプトを実行すると、以下に示すようにステータスがログファイルに記録されます。 0 0 * * * /home/backup.sh > /home/groupz/db-backup/fbackup.log 2>&1 これで、cronがスクリプトを実行すると、ログの内容が毎回更新されます。そのため、既存のコンテンツとともに、実行時間のタイムスタンプが付いた同じファイルに、各時間のコンテンツの下にコンテンツを追加したいと思います。これどうやってするの。
9 bash  scripts  cron  logs 

1
bashスクリプトソース:そのようなファイルまたはディレクトリはありません
このように始まるスクリプトがあります #!/bin/bash VALKYRIE=~/myProjects/valkyrie source $VALKYRIE/cluster.conf しかし、実行すると戻ります line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory しかし、ファイルは存在し、実行するsource ~/myProjects/valkyrie/cluster.confと正常に実行されます。何か案が?VALKYRIE変数を他の場所に設定したので、パスのハードコードはオプションではありません。
9 bash  scripts  source 

2
スクリプトを使用してFTPサーバーへのファイルの送信を自動化するにはどうすればよいですか?
特定のログファイルを/var/log/取得し、簡単に取得できる場所(ほとんどの場合、アクセスできるWebサーバーまたはFTPサーバー)に配置するスクリプトを作成する必要があります。メールで送りたいとは思わない。Webdavはオプションかもしれません。ユーザーとのやり取りなしで機能する必要があり、かなり速くて痛みもありません。助言がありますか?(基本的にパスワードは必要ありません)

3
複数のPPAとアプリケーションを一度にインストールする方法は?
ラボの作業台の1つに、汎用コンピュータを2台セットアップします。 Ubuntuの初期インストール後にインストールしたいUbuntuリポジトリのPPAリポジトリとアプリケーションがたくさんあります。 これらのすべてのアプリとPPAを一度にインストールするスクリプトを作成して、実行可能なスクリプトをダブルクリックして管理者パスワードを入力するだけで済むのですか? それはかなり簡単なことだと思います。誰かが簡単なチュートリアルを教えてくれたり、PPA名やapt-getインストールパッケージに追加できるように、何らかのテンプレートスクリプトを提供したりできますか? ありがとう。

1
1つのコンソールで分割されたシェルで実行されている複数のアプリを起動する
シェルで実行されている複数のアプリを起動し、それらの実行を監視する必要があります。現在、新しいgnome-consoleですべてのアプリを起動するメインスクリプトがありますが、分割画面の同じウィンドウでそれらすべてを起動したいと思います。 この投稿では、1つのウィンドウで複数のシェルを使用して、画面、ターミネーター、byobuなど、さまざまな種類のコンソールアプリケーションで分割画面を使用する方法について説明します。これは手動で正常に機能しますが、メイン画面から自動的にすべてのアプリを分割画面コンソールで起動できるようにしたいと考えています。上記のツールのドキュメントでは、スクリプトからこれを自動的に達成するために何も問題はありませんでした。 何か案は?

4
システム上のUbuntuのバージョンを.sh(bash)スクリプトでどのように確認できますか?
だから私はbash /実行可能ファイルを作成しようとしています、そしてそれはシステム上のUbuntuのバージョン番号を知る必要があります。オンラインで見つけた方法はすべてで構成されていますがlsb_release -r、これを変数に出力することはできません。 Ubuntuの現在のバージョンを取得してシェル実行可能ファイルの変数として保存する方法はありますか?

1
起動時にsystemdサービスを起動してから別のsystemdサービスを起動するにはどうすればよいですか?
古いHPラップトップでUbuntu 16.04を実行しています それに小さなソフトウェアをインストールして、小さな自家製のプレックスサーバーを作成しました。ソナー、レーダー、大洪水、ジャケットなどをインストールしましたが、それらはすべて起動時に自動的に起動します! 数日前にrcloneもインストールすることにし、スクリプトを起動することで起動時にマウントする必要のあるフォルダーをいくつか作成しました(GitHubプロジェクトのおかげです)(ターミナルの書き込みで起動しますsudo ~/bin/check.mount)。SonarrとRadarrは、delugeを介してコンテンツを一時フォルダにダウンロードし、マウントされたこれら2つのフォルダのいずれかにエクスポートするように設定されています。 問題は、手動でSonarr / Radarrスクリプトを手動で起動した時点で、すでに稼働していて、ルートフォルダーが見つからないため、エラーが発生することです。 私がしたいのは、mountgdrive.service(サービス、または必要なもの)を作成して、check.mountスクリプトを自動的に起動し、それが十分でない場合は、sonarr.serviceとrader.serviceに遅延を挿入することです!それは可能ですか? 私はこれを書いた sudo nano /etc/systemd/system/mountgdrive.service [Unit] Description=MountSmokeScreen After=network.target [Service] Type=oneshot ExecStart=/home/samsepioldoloresh4ze/bin/check.mount TimeoutStopSec=20 KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target そして、このようにビットでsonarr.serviceとレーダーr.service mountgdrive.serviceに追加されましたAfter= [Unit] Description=Sonarr After=syslog.target network.target mountgdrive.service [Service] User=samsepioldoresh4ze etcetc .... しかし、それは機能していません!SonarrとRadarrは正常に起動しますが、ドライブがマウントされていません。何が悪いのですか? また、rtcwakeが私のラップトップで動作しません-それはカーネルの問題だと思いますか?!それを修正する方法はありますか?


6
ファイルの各列の合計を数える
スペース ''で区切られた列数が異なるファイルで、列の合計を数える方法。例は必要性を示します: File A: 1 2 2 3 4 5 6 1 1 1 5 次に、出力は次のようになります。 列1の場合(1 + 2 + 4 + 1)= 8 列2は11です 列3は7 列4は5です

3
'*'ワイルドカードをスクリプトの変数を介してfindコマンドのパスパラメーターに渡す方法は?
を使用findして、ワイルドカードで制限された一連のフォルダー内のファイルを検索しますが、パス名にスペースが含まれています。 コマンドラインから、これは簡単です。次の例はすべて機能します。 find te*/my\ files/more -print find te*/'my files'/more -print find te*/my' 'files/more -print これらは、たとえば、terminal/my files/moreおよびでファイルを検索しますtepid/my files/more。 ただし、これをスクリプトの一部にする必要があります。私が必要なのは次のようなものです: SEARCH='te*/my\ files/more' find ${SEARCH} -print 残念ながら、findスクリプト内のコマンドでワイルドカードとスペースを混在させることはできません。上記の例は、次のエラーを返します(バックスラッシュの予期しない二重化に注意してください)。 find: ‘te*/my\\’: No such file or directory find: ‘files/more’: No such file or directory 引用符を使用しようとしても失敗します。 SEARCH="te*/'my files'/more" find ${SEARCH} -print これは、引用符の意味を無視して、次のエラーを返します。 find: ‘te*/'my’: No such file …

3
cronjobを使用して毎日スクリプトを実行する
それを理解することができないので、使用する正確なコードが必要です。私crontab -eはcronジョブのセットアップに使用していますが、それを保存すると機能しません。またnewmail.sh、rootユーザーから呼び出されたファイルを実行しようとしています。
9 scripts  cron 

1
時間ごとのGITプッシュ
バッチスクリプトを使用して1時間ごとにGitプッシュを自動化することは可能ですか? 私は通常これを入力します: git add * git commit -m "latest update" git push https://username:password@github.com/username/repository.git master これを自動化するにはどうすればよいですか?

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