Чтобы облегчить вашу жизнь, я бы рекомендовал использовать только тонкий драйвер Oracle.
Сначала загрузите драйвер с сайта Oracle :
http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
Затем добавьте JAR в свой проект и подключитесь к базе данных, используя:
Class.forName ("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@//localhost:1521/orcl", "scott", "tiger");
Конечно, замените эти параметры теми, которые соответствуют вашей БД.
Нет необходимости в базовом имени и особенно в подоболочке, выполняющей pwd (которая добавляет дополнительную и дорогостоящую операцию fork ); оболочка может сделать это внутренне, используя расширение параметра :
result=${PWD##*/} # to assign to a variable
printf '%s\n' "${PWD##*/}" # to print to stdout
# ...more robust than echo for unusual names
# (consider a directory named -e or -n)
printf '%q\n' "${PWD##*/}" # to print to stdout, quoted for use as shell input
# ...useful to make hidden characters readable.
Обратите внимание, что если вы применяете этот метод в других обстоятельствах (не PWD
, а какая-то другая переменная, содержащая имя каталога) , вам может потребоваться обрезать концевые косые черты. Ниже используется поддержка extglob в bash для работы даже с несколькими завершающими косыми чертами:
dirname=/path/to/somewhere//
shopt -s extglob # enable +(...) glob syntax
result=${dirname%%+(/)} # trim however many trailing slashes exist
result=${result##*/} # remove everything before the last / that still remains
printf '%s\n' "$result"
В качестве альтернативы, без extglob
:
dirname="/path/to/somewhere//"
result="${dirname%"${dirname##*[!/]}"}" # extglob-free multi-trailing-/ trim
result="${result##*/}" # remove everything before the last /
Следующие команды приведут к печати вашего текущего рабочего каталога в скрипте bash.
pushd .
CURRENT_DIR="`cd $1; pwd`"
popd
echo $CURRENT_DIR
Если Вы хотите видеть только текущий каталог в регионе подсказки удара, можно отредактировать .bashrc
файл в ~
. Изменение \w
к \W
в строке:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Выполнение source ~/.bashrc
и это только отобразит имя каталога в быстром регионе.
Касательно: https://superuser.com/questions/60555/show-only-current-directory-name-not-full-path-on-bash-prompt
Вы можете использовать комбинацию pwd и basename. Например,
#!/bin/bash
CURRENT=`pwd`
BASENAME=`basename "$CURRENT"`
echo "$BASENAME"
exit;
Используйте программу basename
. В вашем случае:
% basename "$PWD"
bin