Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Work@Home.ps1 и Work@Work.ps1 => изменяют файл hosts, для прохождения через адресов локальной сети или адресов WAN.
Это сохраняет 20 дней различных резервных копий, не используя набор пространства. Использование связывается с копией и копиями rsync по мере необходимости
#!/bin/bash
BACKUPDIR=/media/proxy/store/backups/
[ ! -d $BACKUPDIR ] && { echo "BACKUP DIRECTORY NOT AVAILABLE!"; exit; }
dobackup() {
SDIR=$2
PARENTDIR=$1
echo "BACKING UP $PARENTDIR/$SDIR to $BACKUPDIR"
bnum=20
count=$bnum
[ -d ${BACKUPDIR}${SDIR}.$bnum ] && { mv ${BACKUPDIR}${SDIR}.$bnum ${BACKUPDIR}${SDIR}.tmp; }
until [ $count -eq 1 ]; do
let lastdir=$count-1
[ -d ${BACKUPDIR}${SDIR}.$lastdir ] && { mv ${BACKUPDIR}${SDIR}.$lastdir ${BACKUPDIR}${SDIR}.$count; }
let count-=1
done
cp -al ${BACKUPDIR}${SDIR}.0 ${BACKUPDIR}${SDIR}.1
rsync -a --delete --bwlimit=2000 $PARENTDIR/$SDIR ${BACKUPDIR}${SDIR}.0
}
for backup in $(cat /sbin/backup.directories); do
PDIR=$(echo $backup | awk -F '::' {'print$1'})
DIR=$(echo $backup | awk -F '::' {'print$2'})
dobackup $PDIR $DIR
done
exit;
cat /sbin/backup.directories
/media/warehouse::Archive
/media/warehouse::concept
Записал немного сценария удара, который знал как раз достаточно о шрифтах, чтобы перерыть о 10k шрифтах и искать определенные ключевые слова, несмотря на их бесполезные имена файлов, но не возвратить очень много ложных положительных сторон. Требовал времени к выполненному, приблизительно минута на привлекательной iMac, но она сохранила меня, вероятно, 50 часов в течение последних нескольких лет.
Сценарий для разрешения легкого хватания результатов PS:
#!/usr/bin/php -f <?php $process = $argv[1]; echo shell_exec("ps -ef | grep $process | grep -v grep"); exit(0);
Я записал простой сценарий Ruby для помощи моей жене и мне, когда мы рассматривали имена нашего первого ребенка. Это генерировало все комбинации имени и проверило инициалы по черному списку инициалов, которых я хотел избежать, исключая любого, который не соответствовал моим критериям. Это чувствовало себя подобно соответствующей вещи для тормозного папы сделать и на самом деле оказалось довольно стоящим и полезным.
Кроме этого я записал несколько сценариев Python, которые служат ботами IRC, которые я использую каждый день. Каждый сохраняет URL, через соответствие регулярного выражения, к восхитительный . Другой служит простым интерфейсом IRC Twitter , позволяя мне проверить мой канал и обновления сообщения.
Я предполагаю, что должен включать свой собственный ответ на это для пользы завершения.
я записал простой сценарий, который берет в расходах двух человек, живущих вместе, и вычисляет, какой человек должен другие деньги в конце месяца так, чтобы каждый человек потратил одинаково. Я планирую расширить его, чтобы сохранить категории каждого расхода и сохранить их в базе данных. Несомненно, я мог просто использовать существующее программное обеспечение..., но где забава в этом?
Не очень сложный, уверенный, но до нерабочих связанных сценариев, что я использую много дома, этот - текущий лидер.
В какой-то момент в удаленном прошлом я решил поместить все файлы для public_html каталога своего веб-хоста в репозиторий подрывной деятельности. Тогда я записал сценарий который:
rsync
для загрузки любых измененных файлов от псевдодиска до моего поставщика услуг хостинга. Я использую пару "открытый/закрытый ключ" для сохранения меня от ввода моих данных для входа каждый раз. Таким образом, продвигая обновления с репозитория на сервер буквально "одна сенсорная" операция.
то, Что больше всего удовлетворяет о сценарии, - то, что, первоначально, это было больше осуществления сценариев оболочки, чем Главный Проект. Однако это, вероятно, сохранило меня бесчисленные часы работы и делает перспективу из обновления веб-сайта почти без напряжения, возможно, больше, чем какая-либо другая часть программного обеспечения на моем компьютере.
Хорошо сценарий Автогорячей клавиши , которые делают мою жизнь в досягаемости только клавиатуры:
Этот сценарий клавиатуры просто делает меня таким счастливым туристом; и это - на самом деле основная причина, что я все еще использую окна вместо Linux как моя основная платформа, так как автогорячая клавиша только работает над окнами.
Выполнение WinXP и у меня никогда, кажется, нет времени, чтобы начать дефрагментацию и ожидать его для окончания. Таким образом, я записал свой собственный сценарий для исчерпывания встроенного defrag.exe XP и запланировал его для выполнения nitely. Результаты сохраняются к файлу журнала в C:\Temp для более позднего обзора.
@echo off
GOTO :MAIN
###########################################################
#
# Reason:
# This script runs the defrag utility.
#
# Suggestion:
# Schedule this script to run daily (via schtasks)
#
# Example:
# SCHTASKS /Create /SC DAILY /ST 03:00:00
# /TR \"C:\path\to\DAILY_DEFRAG.BAT" /TN "Daily Defrag of C Drive\"
#
# Example:
# AT 03:00 /every:Su,M,T,W,Th,F,Sa C:\path\to\DAILY_DEFRAG.BAT
#
# Required OS:
# Windows XP or Windows Server 2003
#
# Required files:
# DEFRAG.EXE
#
#
###########################################################
:MAIN
:: Output a listing of scheduled tasks
SCHTASKS /QUERY /V > C:\temp\schtasks.out
:: *****************************************************
:: * SITE SPECIFIC Program Parameters *
:: *****************************************************
:: * Drive to defrag
SET TARGET=C:
:: * Log file
SET LOGFILE=C:\temp\defrag.log
:: *****************************************************
:: * No editable parameters below this line *
:: *****************************************************
SETLOCAL
:: Announce intentions
echo.
echo Beginning defragmentation of disk %TARGET%
echo ----------------------------------------------
echo.
for /f "tokens=1 delims=_" %%a in ('date /t') do set NOW=%%a
for /f "tokens=1 delims=_" %%a in ('time /t') do set NOW=%NOW% %%a
echo Start time: %NOW%
:: Run the defrag utility
C:\WINNT\SYSTEM32\defrag.exe %TARGET% -f -v > %LOGFILE%
echo.
for /f "tokens=1 delims=_" %%a in ('date /t') do set NOW=%%a
for /f "tokens=1 delims=_" %%a in ('time /t') do set NOW=%NOW% %%a
echo End time: %NOW%
echo.
echo ----------------------------------------------
echo Defrag complete.
echo.
:END
У меня есть пакетный файл, который работает каждое утро, который запускает браузер с вкладками, загруженными во все сайты, которые я хочу проверить каждый день (Woot, Дилберт, Дунесбери, UserFriendly; в сезон, нью-йоркские очки Метс и electoral-vote.com, плюс несколько веб-сайтов, которые должны быть посещены регулярно для хранения членства активным)
Я записал инструмент извлечения файла, который будет использоваться в Linux, который может извлечь приблизительно 20 различных форматов файлов и использует содержание файла, не имя файла.
Этот инструмент стал довольно популярным, у меня есть обычный поток людей, которые загружают его с моего блога. Получите его здесь:
Иногда я забываю то, что является новыми файлами, которые я просто создал в каталоге, но команда ls просто покажет каждый файл в каталоге, я просто хочу несколько новых файлов, таким образом, я поместил это в свой .cshrc
ls -l -t | awk 'NR<15{print $0}'
(На самом деле это находится в файле, названном лейтенантом, и в .cshrc это установлено с: исказите лейтенанта '~ / лейтенант'),
Таким образом, теперь Это покажет мне только несколько файлов.
Я записал программу Python, чтобы вычислить общие расходы моей квартиры и произвести аккуратную небольшую сетку, с соседом по комнате как столбцы и категория расхода как строка, наряду со сколько денег каждый сосед по комнате, бывший должный за арендную плату, после корректировки для его вклада в общие расходы. Мы совместно использовали этот путь некоторое время, но просто подводили необработанные итоги в конце месяца. Мне была нужна более тонкая настройка. Максимум с восьми нажатий клавиш на позицию это - путь лучше, чем Excel. Я был видом на отчаянных поисках для остановки ежемесячной тенденции одного соседа по комнате, тратящего 25% нашего бюджета на напитках...
Для тех из нас, кто не помнит, где мы находимся на Unix, или который SID мы используем.
Pop это в Вашем .profile.
<br>function CD
<br>{
<br> unalias cd
<br> command cd "$@" && PS1="\${ORACLE_SID}:$(hostname):$PWD> "
<br> alias cd=CD
<br>}
<br>
alias cd=CD
Окно с предупреждением на случайном таймере, гарантированно всплывающее не реже одного раза в час, чтобы напоминать мне отжиматься.
Я использовал его, когда был в армии.
Я также написал правила архитектуры ( http://architecturerules.org ) для себя и всех остальных.
Мне нравится, как git определяет, когда использовать меньше, в Subversion нет этой функции, поэтому я хочу легко получать цветной вывод на пейджере. псевдоним cgrep позволяет мне быстро выбирать. без него я иногда получаю необработанный цветной вывод.
Я также, когда просматриваю код, не люблю видеть определенные результаты, такие как двоичные файлы .svn ctags
grep -R sourcecodetext sourcedir | nosvn
Ниже представлено то, что у меня есть в моих файлах конфигурации
cat .bash_profile
alias nosvn="grep -v \"\.svn\|tags\|cscope\|Binary\""
alias less="less -R"
alias diff="colordiff -u"
alias cgrep="grep --color=always"
export GREP_OPTIONS='--color=auto'
cat bin / gitdiffwrapper
#!/bin/bash
old_file=$1
tmp_file=$2
old_hex=$3
old_mode=$4
new_file=$5
new_mode=$6
colordiff -u $old_file $tmp_file
cat .gitconfig
[diff]
external = $HOME/bin/gitdiffwrapper
cat .subversion_config | grep ^ diff-cmd
diff-cmd = /usr/bin/colordiff