2016-09-20 15 views
0

(例えば./open.sh notes~/Documents/notes/でターミナルを開きます)bashスクリプト

どうすればいいですか?私はgnome-terminal --working-directory=[directory]何か似ていますが、文字列を受け付けないので、この場合に使用できるかどうかわかりません。

+1

文字列を受け入れない場合、それは何を受け入れますか?ロリポップ? –

答えて

1

これを試すことができます。

#!/bin/bash 
workDir="/home/user/Documents/$1" 
if [ ! -d "$workDir" ]; then 
    echo "directory not found, check your path" 
else 
    gnome-terminal --working-directory="$workDir" 
fi 

例; 〜/書類で

./open.sh notes 

このオープン新ターミナルは/

+3

指定されたディレクトリにパス名展開やワード分割を行う文字が含まれている場合は、パラメータ拡張を引用する必要があります。私はそれを2回修正し、毎回変更を元に戻しました。 – chepner

0

あなたのスクリプト、または機能を指摘し、単純に次のようになります。

open() { 
    gnome-terminal --working-directory="Documents/$1" 
} 

作業ディレクトリはに対して指定することができるように見えますユーザーのホームディレクトリ

open notesのように使用して、~/Documents/notesに新しい端末を開きます。

+0

申し訳ありませんが、正確に何を意味するかわかりません - あなたは説明できますか? –

+1

@Inian 'basename'と' dirname'はパスを2つの部分に分割します。相対パスから絶対パスを再構築するためにそれらを使用することはできません。 – chepner

+0

私は再び私の実際のポイントを伝えていないと思います:)この論理はフォルダの '/ home/foobar/Downloads/My_movies'とどのように動作しますか?これに対する応答は私の質問を明確にします。ありがとう! – Inian